排除Meteor中某些页面上的导航栏

时间:2015-01-29 06:55:11

标签: login meteor navbar iron-router

我正在尝试创建一个流星应用,其中登录页面只显示我的欢迎文本和通过Google登录。在我的其他页面上,我有一个导航栏。如何从此登录页面中专门排除导航栏?它与铁有关:路由器?我称之为某种特殊方法吗?

4 个答案:

答案 0 :(得分:1)

你可以制作这样的2个布局。

    <template name="layout">
    <!-- Regular Stuff for the other pages You can place the navbar here -->
  {{> yield}}
    </template>

    <template name="layoutLogin">
    <!-- Just Login Pages -->
    {{> yield}}
    </template

现在是Javascript代码。

Router.map(function () {
  this.route('home', {
    path: '/',
    layoutTemplate: 'layout'}
            );
});

   //Here we tell to render the template login, on the path /login and use the content on the layoutLogin
    Router.map(function () {
          this.route('login', {
            path: '/login',
            layoutTemplate: 'layoutLogin'}
                    );
        });

告诉我是否有效。

答案 1 :(得分:0)

您可以仅为导航栏创建模板,并将其包含在任何需要的地方

<template name="top_navbar">
      <!--your navbar code -->
</template>


<template name="mypage">
  {{> top_navbar}}  
  <!-- rest of code for my page -->
</template>

 <template name="mylogin">
   <!-- rest of code for login page  -->
 </template>

答案 2 :(得分:0)

我设置了两个模板然后使用了以下工作!主要布局是带有导航栏的布局,而欢迎布局是没有它的布局。

Router.configure({
    layoutTemplate: 'primaryLayout'
});
Router.route('/', {layoutTemplate: 'welcomeLayout'});

谢谢!

答案 3 :(得分:0)

您的问题有了更简单的解决方案,只需将layoutTemplate设置为null,即您希望排除导航和其他布局的特定页面。在这种情况下,我们将排除登录页面的导航:

Router.route('login',  {
        layoutTemplate: '' //the default template is set to null using ''
    });