Javascript 使用不同型号进行排序';余烬中的属性
我知道,您可以通过执行以下操作按升序/降序对不同的属性进行排序:Javascript 使用不同型号进行排序';余烬中的属性,javascript,sorting,ember.js,Javascript,Sorting,Ember.js,我知道,您可以通过执行以下操作按升序/降序对不同的属性进行排序: App.TestsController = Ember.ArrayController.extend( sortProperties: ['testDate:desc', 'name:asc'] sortedObjects: Ember.computed.sort('content', 'sortProperties') ) 然后引用{{#each}中的对象。但是,如果每个测试都有一个与之关联的用户,那么我们是否
App.TestsController = Ember.ArrayController.extend(
sortProperties: ['testDate:desc', 'name:asc']
sortedObjects: Ember.computed.sort('content', 'sortProperties')
)
然后引用{{#each}中的对象。但是,如果每个测试都有一个与之关联的用户,那么我们是否也可以通过用户的属性进行排序?我注意到,当我只是按测试属性或用户属性排序时,一切正常,但当我这样做时:
App.TestsController = Ember.ArrayController.extend(
sortProperties: ['testDate:desc', 'user.lastName:asc']
sortedObjects: Ember.computed.sort('content', sortProperties')
)
我得到一个“索引超出范围”错误。我是否需要使用自己的排序来适应不同型号的排序?尝试将对象属性绑定到控制器:
App.TestsController = Ember.ArrayController.extend(
needs: ['user'],
lastName: '',
lastNameBinding: 'controllers.user.lastName',
sortProperties: ['testDate:desc', 'lastName:asc']
sortedObjects: Ember.computed.sort('content', sortProperties')
)
您还可以尝试计算属性。因此,最终的问题是如何在测试和用户之间建立连接。起初,我将用户连接到setupController中的测试,这导致用户作为对控制器的承诺返回。当我将进程移动到模型挂钩时,我的加载屏幕不再显示。如果有人遇到同样的问题,我会找Balint Erdi。谢谢你花时间帮我,Matthew!您的回答帮助我消除了错误,但事实证明,用户在我的控制器中显示为承诺。现在我想出了一个解决办法,在这里我为每个测试显式地设置了一个用户,但是你知道为什么会发生这种情况吗?