У меня индивидуальный магазин (происходит от Em.ArrayController), задача которого - сохранить массив отдельных объектов.Есть несколько API, которые вызывает мое приложение, и они возвращают отдельные объекты, которые отправляются в магазин.Подумайте об этом, как о базе данных кэшированных отдельных записей в моем приложении.
App.individualStore = App.ArrayController.create({
allIndividuals: function () {
return this.get('content').sort(function (a, b) {
return (b.votes_count - a.votes_count);
});
}.property('@each.votes_count').cacheable(),
aliveIndividuals: function () {
return this.get('content').filter(function (individual) {
return (!!individual.living);
}).sort(function (a, b) {
return (b.votes_count - a.votes_count);
});
}.property('@each.living', '@each.votes_count').cacheable(),
deceasedIndividuals: function () {
return this.get('content').filter(function (individual) {
return (!individual.living);
}).sort(function (a, b) {
return (b.votes_count - a.votes_count);
});
}.property('@each.living', '@each.votes_count').cacheable()
});
В моем представлении есть "индивидуальная привязка: 'App.individualStore.allIndividuals', которая отображается в идеальном виде.* Я хочу добавить кнопки фильтрации, например Show: All | Alive | Deceased
.Что будет правильным способом изменить фильтрацию здесь?Имейте в виду, что какими бы ни были критерии, я бы хотел, чтобы он всегда был синхронизирован с IndividualStore.
Кто-то предложил изменить привязки во время выполнения,
this.bind('users', Ember.Binding.from('App.individualStore.aliveIndividuals'));
Это работает в моем первомдва-три нажатия на эти кнопки, но затем браузер зависает (что-то вроде бесконечного цикла?).
Для меня это тоже не лучший вариант.Я новичок в Ember, поэтому все, что вы скажете, будет полезно.Заранее спасибо.