2014-09-24 2 views
0

Я вижу вопросы по правильной фильтрации CollectionView. Ни один из рецептов не работает для меня. Я не должен понимать эту концепцию.Marionette CollectionView фильтр не работает

Если у меня есть коллекция моделей, и я хочу показать только те, у которых атрибут «visible» установлен на «true», я должен отфильтровать коллекцию в CollectionView. Я думал, что это был правильный способ сделать это:

var myCollectionView = new MyCollectionView ({ 
     collection: new FilteredCollection(UnfilteredCollection.where({ visible: 'true' }))     
    }); 

Когда я добавляю 10 моделей UnfilteredCollection, 5 с видимым = ложным и 5 с видимым = верно, и показать myCollectionView в регионе, я должен видеть 5 пунктов , Я не получаю.

Если я отбрасываю фильтр и просто показываю UnfilteredCollection, я вижу все 10 элементов, поэтому я знаю, что я подключен к другому, кроме этого фильтрованного материала.

Установка точки останова VS Я могу видеть правильные значения в моделях коллекции - 5 visible = false и 5 visible = true.

Что мне здесь не хватает?

ответ

0
{ visible: 'true' } 

Это заставляет меня думать, что вы можете случайно добавить кавычки true значения, что делает его строку, в то время как вы можете иметь логический true/false в моделях

+0

Спасибо за ответ. Определенно строка в модели. Пробовал без кавычек, так или иначе, чтобы быть в безопасности, но не кубиками. – Robert

+0

Нет, я ошибаюсь. Это проблема. Другая проблема заключалась в маскировке успеха этого исправления. Другая проблема заключается в том, что после добавления моделей я не создавал новый экземпляр представления. Было ошибочное впечатление, что существующий экземпляр подберет новые модели. Все еще немного смутно этим. Мысль идея CollectionView определяла один экземпляр и реагировала бы на базовые корректировки коллекции? Похоже, это было бы логично. Не тот случай? Когда я делаю новый экземпляр представления после каждой корректировки коллекции, обновления отражаются. – Robert

Смежные вопросы