我无法从数组控制器获取sortProperties。我认为这是因为控制器需要排序的模型不是它在Ember CLI中默认接收的模型。
router.js 中定义的帖子资源:
export default Router.map(function() {
this.resource('posts', function() {
this.route('index', {path: '/'});
this.route('new');
this.route('full', {path: '/:id'});
});
模型钩子在 routes / posts / index.js :
中定义
export default Ember.Route.extend({
model: function() {
return this.store.find('post');
},
});
我的单个帖子的模型( models / post.js )
export default DS.Model.extend({
title: DS.attr('string'),
category: DS.attr('string'),
created_at: DS.attr('date'),
)}
我的模板使用{{#each}}帮助器显示帖子列表 (的模板/帖/ index.hbs ):
每个帮助程序的内部内容包含在名为“blog-list”的组件中。
{{#each model as |post|}}
{{blog-list model=post}}
{{/each}}
帖子列表显示正常。
我添加了代码按标题属性( controllers / posts / index.js )对列表进行排序:
export default Ember.ArrayController.extend({
sortProperties: ['title'],
sortAscending: true,
});
我不确定原因,但标题栏没有排序。
答案 0 :(得分:1)
您必须在模板中迭代controller
而不是model
:
{{#each controller as |post|}}
{{blog-list model=post}}
{{/each}}
顺便说一下, ArrayController
已被弃用。