Ember 计算排序不在服务中排序
Posted
技术标签:
【中文标题】Ember 计算排序不在服务中排序【英文标题】:Ember computed sort not sorting in service 【发布时间】:2016-04-13 15:26:07 【问题描述】:也许我做得不对,但我正在尝试按 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'),
【讨论】:
啊,好吧,我错过了阅读它是如何解释的,谢谢!以上是关于Ember 计算排序不在服务中排序的主要内容,如果未能解决你的问题,请参考以下文章