Gab*_*iel 2 javascript sorting ember.js
我想按升序(AZ)对一组类别和项目进行排序.
我的HBS模板迭代{{each}}类别,然后遍历类别中的{{each}}项目.
我试图将sortProperties传递给每个数组控制器,但这似乎不会影响任何东西.我还尝试将排序提取到数组代理(使用此处的帮助:Ember.js在父路由中排序和过滤hasMany关系的子项)
任何想法如何从这里前进?
到目前为止,这是我的JSBin:http://jsbin.com/momihe/8/edit
非常感谢!
最简单的方法是只对模型上的项进行排序,然后迭代它们
App.Category = DS.Model.extend({
title: DS.attr("string"),
createdAt: DS.attr('date', { defaultValue: new Date() }),
items: DS.hasMany('item', { async: true }),
sortedItems: Em.computed.sort('items', function(item1, item2){
return item1.get('desc').localeCompare(item2.get('desc'));
})
});
Run Code Online (Sandbox Code Playgroud)
下一个最简单的方法是使用项目控制器,并将排序列表放在那里
{{#each model itemController='foo'}}
<li><strong>{{title}}</strong>
{{#each sortedItems}}
<div>{{desc}}</div>
{{/each}}
<br>
</li>
{{/each}}
Run Code Online (Sandbox Code Playgroud)
App.FooController = Em.ObjectController.extend({
sortedItems: Em.computed.sort('items', function(item1, item2){
return item1.get('desc').localeCompare(item2.get('desc'));
})
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
839 次 |
| 最近记录: |