2015-09-25 56 views
0

鑑於EmberJS模型訂貨

model() { 
    return this.store.findAll('foos') 
}, 

在灰燼路線我將如何扭轉的記錄顯示目的的順序?

即在我的模板,我有:

{{#each model as |foo|}} 

,他們中目前顯示的完全相反的順序,我會想起來。

+0

調用'reverse'或'sort'? –

回答

2

幾種方法來做到這一點。一種是在控制器上創建一個計算屬性。

sortedModel: Ember.computed('model.[]', function() { 
    return this.get('model').toArray().sort((a, b) => { 
    return whateverSortYouWantToDo 
    }) 
}) 

然後在你的模板

{{#each sortedModel as |foo|}} 
+0

我最終把計算器放在一個組件中,但是這讓我大部分時間都在那裏。謝謝! – joshcartme

2

您可以使用您的控制器中定義的arrayProxy實施sortableMixin且模板中使用此屬性。例如:

sortedContent: function(){ 
    var self = this; 
    return Ember.ArrayProxy.createWithMixins(Ember.SortableMixin, { 
     sortProperties: ['modelPropertyYouWantToSort'], 
     sortAscending: true, 
     content: self.get('model') 
    }); 
}.property('model') 

模板:

{{#each sortedContent as |foo|}}