1. 一个controller的modle可以代表几个记录也可以带便单个。这里,路由的model hook返回一个歌曲数组:
export default Ember.Route.extend({
model() {
return this.store.findAll(‘song‘);
}
});
<h1>Playlisth1>
<ul>
{{#each model as |song|}}
<li>{{song.name}} by {{song.artist}}li>
{{/each}}
ul>
2. 你可以使用controller去收集model有关的集合信息。例如,想想一下我们希望展示长度超过30秒的歌曲的数量。我们可以为controller添加一个新的计算属性叫做longSongCount。
export default Ember.Controller.extend({
longSongCount: Ember.computed(‘model.@each.duration‘, function() {
let songs = this.get(‘model‘);
let longSongs = songs.filter((song) => {
return song.get(‘duration‘) > 30;
});
return longSongs.get(‘length‘);
})
});
<ul>
{{#each model as |song|}}
<li>{{song.name}} by {{song.artist}}li>
{{/each}}
ul>
{{longSongCount}} songs over 30 seconds.