我们假设你加载了一个从项目页面开始的项目,比如/item/25
。这将加载第1项。然后您转换到/items
路线,这将加载所有项目,但会发生的是第25项将首先列出,然后是所有项目1,依此类推。< / p>
如何对模型进行排序,使它们始终显示相同的颜色?
我已尝试this.store.find('item').sortBy('id')
,但它无法正常工作。
答案 0 :(得分:2)
sortBy
可能会返回一个空数组。在使用find
sortBy
解决
return this.store.find('item').then(function(items){
return items.sortBy('id');
});
当然,您需要注意按id
排序,它是一个字符串,“100”在“2”之前。您可能需要在item
模型上定义一个计算属性,将其强制转换回int以进行排序。
答案 1 :(得分:1)
您可以使用&#39; ArrayController&#39;对于/ items路线。 http://emberjs.com/guides/controllers/representing-multiple-models-with-arraycontroller/
对于你的情况,它会是这样的。
App.ItemsController = Ember.ArrayController.extend({
sortProperties:['id']
})