在特定路线上更改布局模板中的一些 html(使用 iron-router 和 meteor.js)
Change some html in layout template when on a certain route (with iron-router and meteor.js)
我有一个模板,我使用 iron-router 将其设置为我的布局:
Router.configure({
布局模板:'main'
});
在此布局中,我有一行 html 我想在某些路线上进行更改。
我的想法是:
{{#if landing }}
<div id="page-wrapper">
{{/if}}
但是,我该如何为特定路线实现这一点?我希望这个变量在除 1 以外的每条路线上都为真。
我认为这种 "change the template based upon what route I'm on" 逻辑最适合使用该路线的模板(以及任何其他将进行相同更改的模板。根据所需的更改,您可以将您的基本模板调用到修改后的模板中。
示例:
Router.route('/yourSpecialRoute', function(){
this.layout('OtherLayout');
});
See the Layout docs - 我借用了设置区域数据上下文的语法
话虽如此,如果您不想按路线切换布局,请考虑在您的路线上设置数据(类似于 {data: item},如 here in the iron:route readme which can then be read by a global helper (Template.registerHelper 语法所示)- 这至少会使其保持一致跨越你的路线/模板。
我有一个模板,我使用 iron-router 将其设置为我的布局:
Router.configure({ 布局模板:'main' });
在此布局中,我有一行 html 我想在某些路线上进行更改。
我的想法是:
{{#if landing }}
<div id="page-wrapper">
{{/if}}
但是,我该如何为特定路线实现这一点?我希望这个变量在除 1 以外的每条路线上都为真。
我认为这种 "change the template based upon what route I'm on" 逻辑最适合使用该路线的模板(以及任何其他将进行相同更改的模板。根据所需的更改,您可以将您的基本模板调用到修改后的模板中。 示例:
Router.route('/yourSpecialRoute', function(){
this.layout('OtherLayout');
});
See the Layout docs - 我借用了设置区域数据上下文的语法
话虽如此,如果您不想按路线切换布局,请考虑在您的路线上设置数据(类似于 {data: item},如 here in the iron:route readme which can then be read by a global helper (Template.registerHelper 语法所示)- 这至少会使其保持一致跨越你的路线/模板。