首页 > 解决方案 > 我如何订购模型?

问题描述

我是 ember 的新手,我不知道如何按标题对电影列表进行排序。我有一个带有模型挂钩的路线索引:

export default Route.extend(RealtimeRouteMixin,{
  model() {
    return this.store.findAll('movie');
  }
});

加载此路由时,我会渲染一个组件。我在模板中设置模型

{{landing-page
  add=(action 'addMovie')
  movies=model
}}

在这个组件内部,还有其他子组件。其中一个是电影列表,我想在其中显示按标题排序的电影列表。

//landing-page template
{{movie-list-header}}

{{movie-list
  movies=this.movies
}}

{{add-movie-form add=this.add
}}
//movive-list template
{{#each movies as |movie|}}
  {{movie-list/movie-list-item
    movie=movie
  }}
  <hr />
{{/each}}

我不知道最好的方法是什么。我曾想过在路线中对模型进行排序,但我不知道是否必须这样做

export default Route.extend(RealtimeRouteMixin,{
  model() {
    return this.store.findAll('movie').then(funcion(data){
        // sort here ???
    });
  }
});

标签: javascriptember.js

解决方案


你的方法会奏效。然后sortBy会做的伎俩。

另一种方法是将它放在从控制器开始的组件层次结构中的某个位置。一个简单的计算属性就可以解决问题。还有一个计算属性宏


推荐阅读