烬CLI阵列控制器不排序通过每个循环



我无法从数组控制器获得sortProperties工作。我认为这是因为控制器需要排序的模型不是它在Ember CLI中默认接收的模型。

post资源定义在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');
  },
});

我的模型为一个单一的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 ):

每个helper的内部内容都包含在一个名为'blog-list'的组件中。

{{#each model as |post|}}
  {{blog-list model=post}}
{{/each}}

帖子列表显示良好。

我已经添加了代码排序列表的标题属性(控制器/posts/index.js):

export default Ember.ArrayController.extend({
  sortProperties: ['title'],
  sortAscending: true,
});

我不知道为什么,但是标题列没有被排序。

你必须在你的模板中迭代controller而不是model:

{{#each controller as |post|}}
  {{blog-list model=post}}
{{/each}}
顺便说一下,

ArrayController不支持使用

最新更新