6.2 Controllers -- Representing Multipe Models
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了6.2 Controllers -- Representing Multipe Models相关的知识,希望对你有一定的参考价值。
1. 一个controller的modle可以代表几个记录也可以带便单个。这里,路由的model hook返回一个歌曲数组:
app/routes/songs.js
export default Ember.Route.extend({ model() { return this.store.findAll(‘song‘); } });
在songs的模板中,我们可以使用{{#each}}辅助器来展示每一首歌曲:
app/templates/songs.hbs
<h1>Playlist</h1> <ul> {{#each model as |song|}} <li>{{song.name}} by {{song.artist}}</li> {{/each}} </ul>
2. 你可以使用controller去收集model有关的集合信息。例如,想想一下我们希望展示长度超过30秒的歌曲的数量。我们可以为controller添加一个新的计算属性叫做longSongCount。
app/controllers/songs.js
export default Ember.Controller.extend({ longSongCount: Ember.computed(‘[email protected]‘, function() { let songs = this.get(‘model‘); let longSongs = songs.filter((song) => { return song.get(‘duration‘) > 30; }); return longSongs.get(‘length‘); }) });
现在我们可以在模板中使用这个属性:
app/templates/songs.hbs
<ul> {{#each model as |song|}} <li>{{song.name}} by {{song.artist}}</li> {{/each}} </ul> {{longSongCount}} songs over 30 seconds.
以上是关于6.2 Controllers -- Representing Multipe Models的主要内容,如果未能解决你的问题,请参考以下文章
Route::controllers - [App\Http\Controllers 上不存在方法 [index]
Laravel 目标类 [App\Http\Controllers\App\Http\Controllers\ApiController] 不存在
InvalidArgumentException: Action App\Http\Controllers\App\Http\Controllers\OrderController@store 未定义
beego下让swagger按照更新了controllers的接口信息自动更新commentsRouter_controllers.go