2015-06-03 4 views
1

Я хочу, чтобы иметь возможность получить коллекцию как массив, чтобы я мог в шаблоне использовать {{each}} на нем.DerbyJS получить модель как массив

Это совокупность пользователей, которые являются объектами, {{каждый}} не работает с объектами

ответ

4

В частности, вы можете вызвать model.filter() с нулевым значением для функции и создать список из всех элементов входного объекта. Это может быть удобно как способ отображения всех подписных элементов в коллекции, поскольку в качестве тэгов шаблонов {{each}} можно использовать только массивы.

var filter = model.filter(model.scope('pants'), null); 
filter.ref('_page.pantsArray'); 

Вот ссылка на более подробную информацию о том, как использовать фильтры в документации дерби: http://derbyjs.com/docs/derby-0.6/models/filters-and-sorts

+0

просто быть ясно, мне нужно, чтобы обернуть все это в model.fetch (model.scope (» pants '), function (err) {... ваш код ...}); или подписаться и т. Д.?? – msj121

+0

Возможно, вы не захотите обернуть его в избранное или подписаться. Похоже, вы используете этот код в компонентном контроллере, чтобы получить доступ к нему с помощью {{each}}. В этом случае я рекомендую подписку на данные, необходимые для вашего компонента, в обработчике маршрута, а не на выбор в рамках инициализации или создания методов контроллера. – rkstedman

1

Используйте фильтры вверх преобразовать коллекцию в массив (который также будет оставаться реактивно до настоящего времени).