ember.js #each order by property

时间:2012-06-26 10:07:30

标签: ember.js handlebars.js

我有一个Ember.Object数组,由Handlebars {{#each}}帮助程序显示,我想在每次数组更改时按照这些对象的属性对其进行排序。

这样的事情:

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}}助手放在房产上吗?

1 个答案:

答案 0 :(得分:3)

您必须对数据使用ArrayController代理,并设置sortProperties属性。然后,将控制器用作each数据源。

示例@ http://jsfiddle.net/MikeAski/Epjqp/

使用控制器作为数据源提供排列的内容。注意不要直接使用控制器的content,因为它是原始源数据......