javascript - 在 Ember 中按照不同模型的属性进行排序

标签 javascript sorting ember.js

据我所知,您可以通过执行以下操作按升序/降序对不同的属性进行排序:

App.TestsController = Ember.ArrayController.extend(
    sortProperties: ['testDate:desc', 'name:asc']
    sortedObjects: Ember.computed.sort('content', 'sortProperties')
)

然后在{{#each}}中引用sortedObjects。但是,如果每个测试都有一个与之关联的用户,是否有办法也可以按用户的属性进行排序?我注意到,当我仅按测试属性或用户属性排序时,一切正常,但当我这样做时:

App.TestsController = Ember.ArrayController.extend(
    sortProperties: ['testDate:desc', 'user.lastName:asc']
    sortedObjects: Ember.computed.sort('content', sortProperties')
)

我收到“索引超出范围”错误。我需要使用自己的排序来适应不同模型的排序吗?

最佳答案

尝试将对象属性绑定(bind)到 Controller :

App.TestsController = Ember.ArrayController.extend(
    needs: ['user'],
    lastName: '',
    lastNameBinding: 'controllers.user.lastName',
    sortProperties: ['testDate:desc', 'lastName:asc']
    sortedObjects: Ember.computed.sort('content', sortProperties')
)

您还可以尝试计算属性。

关于javascript - 在 Ember 中按照不同模型的属性进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24497123/

相关文章:

javascript - 遍历嵌套对象属性 nunjucks

linux - 在 bash 中按日期字段对日志进行排序

python - 给定一个未排序的 python 列表,如何找到对其进行排序所需的最小移动集

ember.js - 在组件中使用this.sendAction()?

javascript - 创建一个带有计算的简单 jQuery 表单

javascript - 刷新选项卡而不是 ReactJs Ajax 页面

javascript - AngularJS ngRoute 抛出未捕获错误 : [$injector:modulerr]

c++ - 如何有效地按值(value)订购 map ?

javascript - 来自服务的 EmberJs : Not able to resolve config/environment. js

javascript - 告诉 ember.js 为其模型的 "id"使用不同的 key