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