假设您从项目页面开始加载一个项目,例如/item/25
。这将加载项目1.然后你转换到/items
路由,这将加载所有的项目,但会发生什么是项目25将首先列出,其次是所有项目1等等。在Ember中对模型进行分类
如何对模型进行排序,使其始终显示相同?我试过this.store.find('item').sortBy('id')
,但它不起作用。
假设您从项目页面开始加载一个项目,例如/item/25
。这将加载项目1.然后你转换到/items
路由,这将加载所有的项目,但会发生什么是项目25将首先列出,其次是所有项目1等等。在Ember中对模型进行分类
如何对模型进行排序,使其始终显示相同?我试过this.store.find('item').sortBy('id')
,但它不起作用。
sortBy
对一个空数组可能会返回一个空数组。你需要等待的find
使用sortBy
return this.store.find('item').then(function(items){
return items.sortBy('id');
});
授予前解决,则需要小心通过id
排序,这是一个字符串,而“2”之前的“100”的由来。您可能需要在您的item
模型上定义一个计算属性,将它强制回到一个int值以进行排序。
哦。咄!我应该看到这一点。 – NicholasJohn16
您可以为/ items路由使用'ArrayController'。 http://emberjs.com/guides/controllers/representing-multiple-models-with-arraycontroller/
对于你的情况,它会是这样的。
App.ItemsController = Ember.ArrayController.extend({
sortProperties:['id']
})
为什么sortBy不工作?结果是什么?我只是想念你在找到之后使用sortBy,而不是等待它解决。 – Kingpin2k