Meteor 1.0:所有页面上的铁路由器布局,但只有一个

时间:2015-02-27 18:20:45

标签: meteor iron-router

我有一个涉及十几条路线的项目,所有这些路线都需要导航栏以及我希望包含在layout模板中的各种其他部分。

我的问题是我只有一个页面不需要导航栏。我可以通过从layout模板中取出导航栏并将导航栏手动放在需要它的每个页面中来解决这个问题,但这似乎不是一个优雅的解决方案。

有没有办法排除特定路线包含layout模板的一部分?

2 个答案:

答案 0 :(得分:3)

为什么不为此特定路线分配另一个不包含navbar的布局?

HTML

<template name="mainLayout">
  {{> navbar}}
  {{> yield}}
  {{> footer}}
</template>

<template name="withoutNavbarLayout">
  {{> yield}}
  {{> footer}}
</template>

JS

Router.configure({
  layoutTemplate:"mainLayout"
});

Router.route("/withoutNavbar",{
  layoutTemplate:"withoutNavbarLayout"
});

答案 1 :(得分:0)

这是另一个解决问题的简单方法。

对于要排除布局的指定页面,只需将layoutTemplate设置为null。例如,这里我们将删除登录页面的布局和导航:

Router.route('login',  {
        layoutTemplate: '' //set the layoutTemplate to null for the login route
    });

希望它有所帮助。