2016-01-08 84 views
0

也許我沒有這樣做的權利,但我試圖按ID降序排列Ember.Object的數組,但它們仍然以升序排列。灰燼計算的排序不在服務中排序

saidMessages: [], 

然後,我已經計算出

sortedSaidMessages: Ember.computed.sort('saidMessages','id:desc'), 

當我打電話的方法比如從一個組件它增加了一個新的對象到主存儲器陣列

say: function(params) { 
    if (ENV.environment === 'development' || ENV.environment === 'staging'){ 
     var thisMessage = Ember.Object.create(params); 
     this._IDify(thisMessage,this.get('saidMessages')); 
     this.get('saidMessages').pushObject(thisMessage); 
     setTimeout(()=>{ 
     this._removeMessage(thisMessage,this.get('saidMessages')); 
     },6000) 
    } 
}, 

在我的模板我顯示出來像這樣

{{#each devlog.sortedSaidMessages as |message|}} 
    {{devlog-message content=message}} 
{{/each}} 

但是,當我將項目添加到數組中時,無論是在同一時間添加一些項目還是錯開它們(例如在setTimeout函數中),它們仍然以升序顯示(0,1,2,...)

回答

1

查看Ember.computed.sort的文檔:第二個參數是描述如何排序的屬性的關鍵。這是你想要的:

saidMessages: [], 
saidMessagesSorting: ['id:desc'], 
sortedSaidMessages: Ember.computed.sort('saidMessages','saidMessagesSorting'), 
+0

啊好吧我很想念它是如何解釋做到這一點,謝謝! – Jordan