javascript - Ember.js 中的 SortBy 不适用于新创建的项目

标签 javascript ember.js emblem.js

我在日期(时间)属性上应用了 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/

相关文章:

ember.js - 如何在 Emblem.js 中的交互内插入对象的值?

javascript - 如何使用点击功能在同一个ajax调用成功时下载多个文件?

javascript - Django Rest 框架 + ReactJS : Whats wrong with my API?

ember.js - Ember : What is the non controller way to sort an array of models

javascript - 将数据从 Ember 传递到 Logo 模板中的 HTML

javascript - 在没有 Ember 的情况下编译 Emblem.js

javascript - 当我单击 md-select 时出现白色背景

javascript - 使用javascript设置两个动画之间的时间延迟

ember.js - 为什么 router.transitionTo 在转换到同一模型两次时会中止?

ember.js - 使用 ember-simple-auth 和 torii,尽管服务器响应成功,但模式永远不会关闭, session 也永远不会更新