ember.js #each 按属性排序

标签 ember.js handlebars.js

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

所以像这样:

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

还有 Handlebars

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

因此,如果我更新位置并且 bar 对象成为第一个,我希望更新 View 。我可以在属性上依赖 {{#each}} Helper 吗?

最佳答案

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

样本@ http://jsfiddle.net/MikeAski/Epjqp/

使用 Controller 作为数据源提供安排好的内容。注意不要直接使用 Controller 的内容,因为它是原始源数据...

关于ember.js #each 按属性排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11205013/

相关文章:

javascript - Ember.js 错误 : No model was found for 'id' while saving record using ember-data

node.js - Handlebars with Node.js,预编译错误

javascript - Ember 发布独特的 Assets 文件名以保证 CDN 新鲜度?

javascript - Handlebars.js:将对象属性作为 Ember.js 组件属性传递

javascript - Handlebars.js 中的 "select"类似 "where"

javascript - 显示 Controller 中值的更新

ember.js - 如何在 Ember.js 中引用单击的对象

ember.js - Ember Ember.select 获取选定值

node.js - 使用 Node.js 和 Handlebars 显示 JSON 数据

javascript - ember-model、ember-reSTLess 和 emu 之间的主要区别(优点/缺点)是什么?