MeteorJS 模板占位符

MeteorJS template placeholder

我正在开始使用 MeteorJS/Iron Router/Blaze,我正在尝试弄清楚如何为模板设置占位符。

我有一个菜单和一个页脚,它们只会部分改变,但它们之间是主要内容,应该基于当前路线。重点是我需要某种指针,比如 angular "ng-view".

例如

<menu></menu>
{{some sort of placeholder}}
<footer></footer>

在路由器中:

Router.route('/', function () {

//render some template exactly into placeholder, dont append it to the bottom

});

可能是我对meteorjs模板的理解有问题,我只是根据angular模板来解决这个问题。

不确定我是否收到你的问题,但这里有一个答案:

您可以使用 {{> yield}} 标签来做到这一点。它将定义一个 动态区域,显示与当前路线对应的视图

您还可以 "design" 整个应用的布局,就像您所做的那样,例如 layout.html :

<template name="layout">
  <div class="container">
  <header class="navbar">
    <div class="navbar-inner">
      <a class="brand" href="{{pathFor 'home'}}">My app</a>
    </div>
  </header>
  <div id="main" class="row-fluid">
    {{> yield}}
  </div>
  </div>
</template>

并告诉 Iron-Router 您的应用必须适合此布局:

Router.configure({
  layoutTemplate: 'layout'
});

    // Then just define your routes

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

您可能注意到我在布局中使用了 {{pathFor 'home'}}。 Iron Router 允许您使用路由 "names" 因此如果您更改 URL.

它不会做任何事情

我建议你读一本很棒的书,叫做 Discover Meteor !