Meteor 1.0:除一页外的所有页面上都有铁路由器布局



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

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

有没有一种方法可以将特定路线排除在layout模板之外?

为什么不将此特定路由分配给另一个不包括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"
});

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

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

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

希望能有所帮助。

最新更新