我是ember的新手,我不知道如何按标题对电影列表进行排序。我有一个带有模型挂钩的路由索引:
export default Route.extend(RealtimeRouteMixin,{
model() {
return this.store.findAll('movie');
}
});
当这个路由被加载时,我渲染了一个组件。
{{landing-page
add=(action 'addMovie')
movies=model
}}
在这个组件中,还有其他子组件。其中一个是一个电影列表,我想在其中显示按标题排序的电影列表。
第一次
我不知道什么是最好的方法。我想在路线中排序模型,但我不知道是否必须这样做
export default Route.extend(RealtimeRouteMixin,{
model() {
return this.store.findAll('movie').then(funcion(data){
// sort here ???
});
}
});
3条答案
按热度按时间3zwjbxry1#
你的方法会奏效,那么
sortBy
就可以了。另一种方法是把它放在你的组件层次结构中的某个地方,从控制器开始。一个简单的计算属性就可以了。There is also a computed property macro。
6bc51xsx2#
我更喜欢在模板中使用ember-composable-helpers来处理简单的排序,因为它用最少的样板文件对字符串进行了很好的排序。安装该插件并重启ember服务器后,您可以在模板中使用sort-by助手来完成此操作。
2fjabf4q3#
在控制器/组件中,您希望模型使用属性进行排序,您可以提及以下计算属性:
排序模型:sort('模型','标题:描述'),
您可以按如下方式导入排序:从'@ember/object/computed'导入{排序};
现在用sortedModel代替模板/手柄中的model。我希望这样做有意义。如果你有任何疑问,请告诉我。