Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Meteor 如何编写铁路由器嵌套模板?_Meteor_Iron Router_Meteor Blaze - Fatal编程技术网

Meteor 如何编写铁路由器嵌套模板?

Meteor 如何编写铁路由器嵌套模板?,meteor,iron-router,meteor-blaze,Meteor,Iron Router,Meteor Blaze,我有两个模板: 1) mainLayout.html->所有页面必须使用的总布局。(例如页面标题、导航栏、页脚) Router.configure({ layoutTemplate:“主布局” }) {{>头} {{>产量} 2) specialLayout.html->继承main-layout.html但带有附加模板(例如侧/选项卡菜单)的自定义布局 我应该如何定义specialLayout?请注意,specialLayout应在mainLayout中定义标题、导航栏和页脚 如果我有路线X

我有两个模板:

1)
mainLayout.html
->所有页面必须使用的总布局。(例如页面标题、导航栏、页脚)

Router.configure({
layoutTemplate:“主布局”
})
{{>头}
{{>产量}
2)
specialLayout.html
->继承main-layout.html但带有附加模板(例如侧/选项卡菜单)的自定义布局

我应该如何定义
specialLayout
?请注意,
specialLayout
应在
mainLayout
中定义标题、导航栏和页脚


如果我有路线X想要使用
specialLayout
,我应该如何编写它?

目前我不知道任何简单的方法,但大多数事情都可以通过几种不太优雅的方式实现:

  • 将常用零件复制到单独的模板中,并在两种布局中使用它们,即:

    <template name="mainLayout">
      {{> navbar}}
      <div>
        {{> content}}
      </div>
      {{> footer}}
    </template>
    
    <template name="specialLayout">
      {{> navbar}}
      <div>
        {{> content}}
        {{> sidebar}}
      </div>
      {{> footer}}
    </template>
    
<template name="mainLayout">
  {{> navbar}}
  <div>
    {{> content}}
  </div>
  {{> footer}}
</template>

<template name="specialLayout">
  {{> navbar}}
  <div>
    {{> content}}
    {{> sidebar}}
  </div>
  {{> footer}}
</template>
<template name="mainLayout">
  ...
  <div>
    {{#if layout.renderSidebar}}
      <div class="col-2">>
        {{> yield 'sidebar'}}
      </div>
    {{/if}}

    <div class="{{#if layout.renderSidebar}} col-10 {{else}} col-12 {{/if}}">
      {{> yield}}
    </div>
  </div>
  ...
</template>
this.map('pathName', {
  ...
  data: function() {
    return {
      layout: {renderSidebar: true},
      ...
    };
  },
});