我希望有一个标题标题可以根据正在使用的控制器进行更改。
这是我的申请模板:
<div class="container">
<div class="content">
<div class="page-header">
{{#if pageTitle}}
<h1>{{pageTitle}}</h1>
{{/if}}
</div>
<div class="span12">
{{outlet}}
</div>
</div>
</div>
如果设置了页面标题,则应显示它。
现在说我有一个我试过的帖子控制器:
App.PostsController = Ember.ArrayController.extend({
pageTitle: 'Posts'
});
哪个不起作用。
我也试过在路线中设置它:
App.PostsRoute = Ember.Route.extend({
model: function() {
return App.Post.find();
},
setupController: function(controller) {
controller.set('pageTitle', 'Posts');
}
});
我确信这很简单,我只是没有看到做我想做的最佳方式。
任何帮助都会很棒,谢谢!
答案 0 :(得分:4)
您需要在pageTitle
上设置ApplicationController
值,因为该值在插座外部使用,它的上下文是此案例应用程序中最外层的控制器。
App.PostsRoute = Ember.Route.extend({
model: function() {
return App.Post.find();
},
setupController: function(controller) {
this.controllerFor("application").set('pageTitle', 'Posts');
}
});