我有这个基本布局。我想要包含一个动态标头包含在模板中。 +标题应该像这样+ {{get_header_name}}。 get_header_name是一个辅助函数。我试过这个想法,但玉会抛出一个错误。任何想法如何让它变得动态?
basic.jade
template(name="basicLayout")
#main
header
+header // <--- make this a dynamic using helper (get_header_name)
+search
else
+yield
footer
+footer
答案 0 :(得分:1)
如果您不使用Iron Router,则可以使用Template.dynamic。
定义使用模板名称返回会话的帮助程序:
Session.set('headerTemplateName', 'defaultHeader');
Template.basicLayout.helpers({
headerTemplate: function() {
return Session.get('headerTemplateName');
}
});
在basicLayout模板中使用该帮助器:
+Template.dynamic template=headerTemplate
现在,当您在应用中的任何位置更改会话headerTemplateName的值时,您的标题模板将根据它更改:
Session.set('headerTemplateName', 'anotherHeader');
如果您使用铁路由器,请查看布局和区域:https://github.com/iron-meteor/iron-router/blob/devel/Guide.md#layouts