我有一个简单的Ember应用程序,它可以得到一系列模型:
App.IndexRoute = Ember.Route.extend({
model: function() {
return this.store.find("swap");
}
});
然后我在视图中输出它们:
{{#each model}}
output stuff here
{{/each}}
一切正常。我还有一个表单,可以让人们添加这个模型的新实例,它工作正常,并将新记录添加到底部。
但是,我想反向做。据我所知,我有两个选择:
createdAt
属性,因此按createdAt
属性按降序排列每个模型我认为第二种选择更有意义,但我不知道该怎么办。
目前我只有一个App.IndexRoute
然后我有一个App.ApplicationController
我已经添加了一些自定义属性。我假设我需要添加另一个属性或方法来从商店获取数据并按createdAt
订购?
答案 0 :(得分:5)
杰克,您需要使用sortAscending和sortProperties
App.SomeController = Ember.ArrayController.extend({
sortProperties: ['order'],
sortAscending: true
});
修改强> 请注意,如果您为ID列使用了一个数字,并且想要按其排序,那么您需要将其显式转换为数字:
/**
* Explicitly forces the model ID to be viewed as an integer, allowing correct numeric sorting
*/
order: function() {
return parseInt(this.get('id'), 10);
}.property('id'),