铁路由器重新加载特定 header 元素

iron router reload specific header element

我正在尝试重新加载我的 Meteor 应用程序中的特定元素。我 是 Meteor 的新手,但我至少已经将 client-side 路由关闭以防止重新加载。

我基本上是在尝试重新加载 header 中的一小段文本,即使 header 本身在路由更改时并未重新加载。

这是我的路由器 JS:

Router.configure({
  layoutTemplate: 'PageLayout',
  yieldTemplates: {
    'Footer': {to: 'Footer'},
    'Header': {to: 'Header'}
  }
});
Router.route('/', {name: 'Home'});
Router.route('/about');

这是我的布局:

<template name="PageLayout">
  <header>
    {{> yield "Header"}}
  </header>

  <section id="page-container">
    {{> yield}}
  </section>

  <footer>
    {{> yield "Footer"}}
  </footer>
</template>

我的 header 模板基本上是这样的:

<template name="Header">
  <span>'{{text}}'</span> <!-- this is what I'm trying to change when the route changes -->
  <nav id="main-menu">
    <a href="/">Home</a>
    <a href="/about">About</a>
  </nav>
</template>

有什么建议吗?

谢谢。

假设您希望 header 反映当前的路线名称。只需制作一个 returns 的模板助手即可:

Template.Header.helpers({
  text: function(){
    return Router.current().route.getName();
  }
})