Ember 计算排序未在服务中排序
Ember computed sort not sorting in service
也许我做的不对,但我正在尝试按 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, ...)
查看 Ember.computed.sort 的文档:第二个参数是 描述如何排序的 属性 的关键。这就是你想要的:
saidMessages: [],
saidMessagesSorting: ['id:desc'],
sortedSaidMessages: Ember.computed.sort('saidMessages','saidMessagesSorting'),
也许我做的不对,但我正在尝试按 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, ...)
查看 Ember.computed.sort 的文档:第二个参数是 描述如何排序的 属性 的关键。这就是你想要的:
saidMessages: [],
saidMessagesSorting: ['id:desc'],
sortedSaidMessages: Ember.computed.sort('saidMessages','saidMessagesSorting'),