我一直在尝试根据代码学校的ember教程制作一个新的图书馆应用程序(书籍代替产品......不太复杂)。
我正在使用最新的ember.js稳定版本,1.1.10。
在我的模板中使用 {{#each}} ,
JS:
App.BooksRoute = Ember.Route.extend({
model: function () {
return this.store.findAll('book');
}
});
HTML:
{{#each}}
<h1>{{title}}</h1>
{{/each}}
控制台中显示以下警告
DEPRECATION: Using the context switching form of {{each}} is deprecated. Please use the keyword form (`{{#each foo in bar}}`)
所以我一直在尝试使用推荐的语法,我发现了这个,这是有效的 HTML:
{{#each book in model}}
<h1>{{book.title}}</h1>
{{/each}}
但到了我的 arrayController 中的 sortProperties 时,我的 {{#each book in model}} < / p>
JS:
App.BooksRoute = Ember.Route.extend({
model: function () {
return this.store.findAll('book');
}
});
App.BooksController = Ember.ArrayController.extend({
sortProperties: ['title']
});
HTML:
{{#each book in model}}
<h1>{{book.title}}</h1>
{{/each}}
我的书没有排序......
我找到了另一种解决方法,在我的ArrayController中构建一个属性:
JS:
App.BooksRoute = Ember.Route.extend({
model: function () {
return this.store.findAll('book');
}
});
App.BooksController = Ember.ArrayController.extend({
books: function(){
return this;
}.property(),
sortProperties: ['title']
});
HTML:
{{#each book in books}}
<h1>{{book.title}}</h1>
{{/each}}
它已经分类了! ,但我不满意......
是否有另一种最简洁/最简单的方法来使用ember 1.1.10中定义的每个语句并对我的数组进行排序?
答案 0 :(得分:0)
而不是{{#each book in model}}
使用{{#each book in arrangedContent}}
或{{#each book in this}}
答案 1 :(得分:0)
尝试使用&#39; arrangeContent&#39;让你的数组在ArrayController中排序。
App.BooksController = Ember.ArrayController.extend({
sortProperties: ['title'],
content: function() {
return this.get('arrangedContent'); // this gives sorted array
},
});
希望这有帮助