Javascript 我如何订购模型?

Javascript 我如何订购模型?,javascript,ember.js,Javascript,Ember.js,我是《灰烬》的新手,我不知道如何按片名对电影列表进行排序。 我有一个带有模型挂钩的路线索引: 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');
  }
});
加载此管线时,我渲染组件。我在模板中设置了模型

{{landing-page
  add=(action 'addMovie')
  movies=model
}}
在这个组件中,还有其他子组件。其中一个是电影列表,我想按标题排序显示电影列表

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

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

{{add-movie-form add=this.add
}}

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


另一种方法是将它放在组件层次结构的某个地方,从控制器开始。一个简单的计算属性就可以做到这一点

我更喜欢使用模板处理简单的排序,因为它可以用最少的样板文件对字符串进行很好的排序。安装该插件并重新启动ember服务器后,您可以使用帮助器在模板中执行此操作

//电影列表模板
{{{#每部(按“标题”电影排序)为{电影}
{{电影列表/电影列表项
电影
}}

{{/每个}}
在要使用属性对模型进行排序的控制器/组件中,可以提到以下计算属性:

sortedModel:sort('model','title:desc')

您可以按如下方式导入排序: 从'@ember/object/computed'导入{sort}


现在使用sortedModel,而不是模板/把手中的模型。我希望这是有意义的。如果您有任何疑问,请告诉我?

我不能使用sortBy,因为我已使用
javascript this.store.createRecord('movie',{title,description,image,rating})录制了该项目我已经更改了代码,现在我在
登录页中使用了computed属性<代码>javascript moviesSorted:computed.sort('movies',函数(a,b){let aTitle=a.get('title');let bTitle=b.get('title');return aTitle
但我没有得到可能重复的排序列表
//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 ???
    });
  }
});
//movie-list template
{{#each (sort-by "title" movies) as |movie|}}
  {{movie-list/movie-list-item
    movie=movie
  }}
  <hr />
{{/each}}