Ember.js 反转内容数组

Ember.js 反转内容数组,ember.js,Ember.js,我正在ArrayController中存储搜索词列表。我希望搜索词从最新到最旧显示。默认情况下,余烬按顺序输出它们 您可以在此处看到我当前的实现: 这是相关的代码 {{#each App.recentUsersArray.reverse}} <li> <a href="#" title="view again" {{action "searchAgain" target="App.recentUsersArray"}}>{{this}}</a

我正在ArrayController中存储搜索词列表。我希望搜索词从最新到最旧显示。默认情况下,余烬按顺序输出它们

您可以在此处看到我当前的实现:

这是相关的代码

{{#each App.recentUsersArray.reverse}}
    <li>
        <a href="#" title="view again" {{action "searchAgain" target="App.recentUsersArray"}}>{{this}}</a>
    </li>
{{/each}}

App.recentUsersArray = Em.ArrayController.create({
    content: [],
    reverse: function(){
        return this.content.reverse();
    }.property(),
});
{{#each App.recentUsersArray.reverse}
  • {{/每个}} App.recentUsersArray=Em.ArrayController.create({ 内容:[], 反向:函数(){ 返回此.content.reverse(); }.property(), });

    您可以看到,我试图使用property()方法来反转它,但它不起作用。我做错什么了吗?

    您应该始终使用
    get
    set
    访问属性。此外,如果计算属性依赖于其他属性,则必须在
    属性
    声明中添加这些属性。在下一版本的ember中可以省略使用可缓存的
    ,请参阅。您可以看到一个工作示例


    您还可以在数组上使用
    unshiftObject
    方法,从而避免创建计算属性,请参见。

    我知道这是一个很旧的方法,但reverseObjects()可用,它的工作原理与reverse()类似,但与KVO兼容。
    ReverseObject
    似乎是一种很好的方法:。请注意,它是
    Ember.MutableArray
    的一部分。
    reverse: function(){
        return this.get('content').toArray().reverse();
    }.property('content.@each').cacheable()