Javascript 用于显示不同模板的模板条件

Javascript 用于显示不同模板的模板条件,javascript,meteor,iron-router,meteor-helper,Javascript,Meteor,Iron Router,Meteor Helper,我有一个meteorjs默认布局文件,我使用iron route路由到不同的页面,我试图做的是不在主页上显示导航。我可以通过使用两个单独的文件来实现这一点,但我希望使用单个文件来实现这一点 <template name="layout"> <head> <title> {{title}} </title> </head> <body>

我有一个meteorjs默认布局文件,我使用iron route路由到不同的页面,我试图做的是不在主页上显示导航。我可以通过使用两个单独的文件来实现这一点,但我希望使用单个文件来实现这一点

<template name="layout">

    <head>
        <title>
            {{title}}
        </title>
    </head>
    <body>

        {{> navigation }}

        <div class="nav_padding">
            {{> yield}}
        </div>


        {{> footer}}

    </body>

    </template>

有几种方法可以做到这一点,但这里有一个简单的解决方案

向布局模板添加一个辅助对象,该辅助对象指示是否应基于路线名称显示导航:

Template.myLayout.helpers({
  showNav: function() {
    return Router.current().route.getName() !== 'home';
  }
});
修改模板以有条件地显示
导航
模板:

<template name="myLayout">
  {{#if showNav}}
    {{> navigation }}
  {{/if}}
  <div class="nav_padding">
    {{> yield}}
  </div>
  {{> footer}}
</template>

我是否将正文更改为布局,因为我已将所有这些内容包含在模板名称layoutI中我更新了答案-如果您使用IR,您实际上应该删除正文并将其内容放入布局模板中。它仍然不起作用。…我尝试打印控制台的路径,但主页显示未定义。我将返回语句更改为Router.current().route.getName()!=未定义;而且效果很好……但是还有其他方法吗。。。?
<template name="myLayout">
  {{#if showNav}}
    {{> navigation }}
  {{/if}}
  <div class="nav_padding">
    {{> yield}}
  </div>
  {{> footer}}
</template>
Router.route('/', {
  name: 'home',
  template: 'home',
  layoutTemplate: 'myLayout',
  data: {title: 'some'}
});