0

我正在寻找对对象的关联进行排序 - 例如,我在一个组(对象)页面上,并且该组有很多我在该页面上显示的帖子。我将如何对这些帖子进行排序以按 created_at 或其他属性排列它们?

4

1 回答 1

0

您可以将 anArrayController用于您的 s 集合,Post然后使用内置的sortPropertiessortAscending属性。

App.GroupRoute = Ember.Route.extend({
  setupController : function(controller,model){
    this._super(controller,model);
    this.controllerFor('posts').set('content',model.get('posts'));
  }
});

App.GroupController = Ember.ObjectController.extend({
  needs : ['posts']
}); 

App.PostsController = Ember.ArrayController.extend({
  sortProperties : ['createdAt'],
  sortAscending  : false
});

通过调用render您的组模板,您可以访问need由您的主控制器编辑的控制器。那么你的group模板看起来像这样:

<h2>Group : {{name}}</h2>
{{ render 'posts' }}

然后posts模板可能是:

<ul>
{{#each post in arrangedContent}}
  <li>{{ post.title }}</li>
{{/each}}
</ul>

请注意,它arrangedContent用作集合的名称。set您可以通过tingsortPropertiessortAscendingon动态更改排序顺序PostsController

这是一般思想的 JSFiddle(但具有不同的模型名称)。

http://jsfiddle.net/YeKCf/

单击表中的列标题以查看动态排序。

于 2013-09-17T03:13:29.063 回答