オブジェクトの関連付けを並べ替えたいと考えています。たとえば、グループ (オブジェクト) ページにいて、グループにはそのページに表示される多くの投稿があります。これらの投稿を、created_at またはその他のプロパティで並べ替えるにはどうすればよいですか?
質問する
227 次
1 に答える
0
ArrayController
のコレクションに をPost
使用してから、組み込みのsortProperties
およびsortAscending
プロパティ を使用できます。
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
tingsortProperties
とsortAscending
on を使用すると、並べ替え順序を動的に変更できますPostsController
。
一般的なアイデアの JSFiddle を次に示します (ただし、モデル名は異なります)。
表の列見出しをクリックして、動的ソートの動作を確認します。
于 2013-09-17T03:13:29.063 に答える