Meteor JS:在布局中包含动态名称模板
Meteor JS: include dynamic name template in layout
我有这个基本布局。我想在模板中包含一个动态 header。 +header应该是这样+{{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
如果你不使用Iron Router,你可以使用Template.dynamic。
定义 returns session 模板名称的助手:
Session.set('headerTemplateName', 'defaultHeader');
Template.basicLayout.helpers({
headerTemplate: function() {
return Session.get('headerTemplateName');
}
});
在您的 basicLayout 模板中使用该助手:
+Template.dynamic template=headerTemplate
现在,当您在应用中的任何位置更改 session headerTemplateName 的值时,您的 header 模板将随之更改:
Session.set('headerTemplateName', 'anotherHeader');
如果您使用 Iron Router,请查看布局和区域:https://github.com/iron-meteor/iron-router/blob/devel/Guide.md#layouts
我有这个基本布局。我想在模板中包含一个动态 header。 +header应该是这样+{{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
如果你不使用Iron Router,你可以使用Template.dynamic。
定义 returns session 模板名称的助手:
Session.set('headerTemplateName', 'defaultHeader');
Template.basicLayout.helpers({
headerTemplate: function() {
return Session.get('headerTemplateName');
}
});
在您的 basicLayout 模板中使用该助手:
+Template.dynamic template=headerTemplate
现在,当您在应用中的任何位置更改 session headerTemplateName 的值时,您的 header 模板将随之更改:
Session.set('headerTemplateName', 'anotherHeader');
如果您使用 Iron Router,请查看布局和区域:https://github.com/iron-meteor/iron-router/blob/devel/Guide.md#layouts