App = Ember.Application.create({
currentProject: 21
});
デフォルトは 21 で、 {{#linkTo}} をクリックすると、 に を設定しApp.currentProject
たいと思います。:project_id
App.currentProject
ルート:
App.Router.map(function() {
this.resource('project', { path: '/project/:project_id' }, function(){
this.resource('tasks', function(){
this.route('new');
});
})
});
App.TasksRoute = Ember.Route.extend({
model: function(params){
return App.Project.find(params.project_id);
},
setupController: function(controller, model) {
controller.set('content', model.tasks);
}
})
テンプレート:
{{#each controller}}
<div class="panel">
{{#linkTo 'tasks' this}} //click this linkTo, render to project/:project_id/tasks URL and set the App.currentProject to the :project_id at the sametime
<div class="top"><i class="batch-big b-code"></i>
<h6>{{title}}</h6>
</div>
{{/linkTo}}
</div>
{{else}}
<div>There are no Projects.</div>
{{/each}}
ルートのどこに ,がApp.currentProject
設定されているかわかりません:project_id
App.TasksRoute = Ember.Route.extend({
model: function(params){
App.set('currentProject', params.project_id); //I add the code to here,but it did not work
return App.Project.find(params.project_id);
},
setupController: function(controller, model) {
controller.set('content', model.tasks);
}
})
テンプレート{{#linkTo}}、アクションの設定方法がわかりませんでした。
バージョン情報
- 必須: 2.1.4
- jQuery: v1.9.1
- 残り火: v1.0.0-rc.1
- ハンドルバー: 1.0.0-rc.3