2012-06-26 2 views
3

У меня есть массив Ember.Object s, который отображается Handlebars {{#each}} helper, который я хочу сортировать по свойству этих объектов каждый раз при изменении массива.ember.js #each order by property

Так что-то вроде этого:

var arr = [ 
    Ember.Objects.create({ 
     position:0, 
     label:"foo" 
    }), 
    Ember.Objects.create({ 
     position:1, 
     label:"bar" 
    }), 
]; 

И руль

{{#each arr}} 
    <div class="label">{{label}}</div> 
{{/each}} 

Итак, если я обновлю позиции и bar объект становится первым, я хочу посмотреть в обновлении. Могу ли я зависеть от помощника {{#each}}?

ответ

3

Вы должны использовать прокси-сервер ArrayController для своих данных и установить атрибут sortProperties. Затем используйте контроллер как источник данных each.

Образец @http://jsfiddle.net/MikeAski/Epjqp/

Использование контроллера в качестве источника данных обеспечивает устроенное содержание. Соблюдайте осторожность, чтобы не использовать непосредственно контроллер content, так как он является исходным исходным кодом ...