我有一行动态代码:
<label>{{title}}</label>
//template name="header"
我正在使用铁:路由器,该应用程序现在非常简单:
Router.configure({
layoutTemplate: 'ApplicationLayout'
})
Router.route('/', {
template: "home"
})
Router.route('/scientific', {
template: "scientific"
})
我想要一个不依赖于Session
作为动态呈现{{title}}
的方法的解决方案。
理想情况下,我想在我的路由器代码中的某处定义此标题,并让我的标题自动获取它。我并不特别想在我的Template.rendered回调中做很多Session.set / get over(我似乎在使用Semantic-UI复选框时遇到了这个问题)。
你们有没有优雅,超级简单的解决方案?
PS:模板'header'位于ApplicationLayout模板中。 ApplicationLayout标题下方有{{> yield}}
。
答案 0 :(得分:6)
一个可行的选择是将您的标题存储在路线选项中,如下所示:
Router.route("/",{
template:"home",
title:"Welcome Home !"
});
Router.route("/scientific",{
template:"scientific",
title:"Scientific stuff"
});
然后,您可以根据(无效)当前路径控制器在标题模板上定义标题助手。
Template.header.helpers({
title:function(){
return Router.current().route.options.title;
}
});