Ember.js EmberJS-按相反顺序或按日期顺序显示模型

Ember.js EmberJS-按相反顺序或按日期顺序显示模型,ember.js,ember-data,Ember.js,Ember Data,我有一个简单的Ember应用程序,它可以获得一系列模型,如下所示: App.IndexRoute = Ember.Route.extend({ model: function() { return this.store.find("swap"); }

我有一个简单的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

杰克对其进行排序,您需要使用

编辑 请注意,如果您正在为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'),
杰克,你需要使用和

编辑 请注意,如果您正在为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'),

谢谢,这让我走上了正轨!我必须将我的控制器切换到
ArrayController
(而不是
controller
),然后将我的视图更新到
{{{each controller}}
,而不是
{{{each model}}
。还有一个问题,当我向数组添加新模型时,它添加在底部,而不是顶部。修复了它!创建模型时,我没有设置
createdAt
属性。现在我做到了,一切都很好。谢谢,谢谢,这让我走上了正轨!我必须将我的控制器切换到
ArrayController
(而不是
controller
),然后将我的视图更新到
{{{each controller}}
,而不是
{{{each model}}
。还有一个问题,当我向数组添加新模型时,它添加在底部,而不是顶部。修复了它!创建模型时,我没有设置
createdAt
属性。现在我做到了,一切都很好。谢谢