我在日期(时间)属性上应用了 sortBy,如下所示,
cars = @store.all('car')
cars.filter (car) =>
if car.get('name') == undefined
@store.find('car', car.get('id')).then ->
console.log('record found')
else
cars
cars.sortBy('messageAt','name').reverse()
当我重新加载页面时,它确实有效,但是一旦我在 Ember 数据中收到一条新消息,它就会出现在消息中,但出现在底部,这意味着排序不起作用。
最佳答案
我遇到了同样的错误。据我了解,问题出在具有日期类型的 messageAt 属性中。在新版本的 emberData 中,按日期排序有点问题。我通过添加整数类型的新属性来修复它,该属性正在完美排序。这是代码
lastMessageTime: DS.attr('date'),
lastMessageTimeInMilliseconds: function () {
var lastMessageTime = this.get('lastMessageTime');
if (typeof lastMessageTime === 'string') {
return (new Date(lastMessageTime)).getTime();
} else {
return lastMessageTime.getTime();
}
}.property('lastMessageTime'),
关于javascript - Ember.js 中的 SortBy 不适用于新创建的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31244383/