据我所知,您可以通过执行以下操作按升序/降序对不同的属性进行排序:
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/