我开始使用MeteorJS / Iron Router / Blaze,我正在试图弄清楚如何为模板设置占位符。
我有一个菜单和一个页脚,它只会部分更改,但它们之间是主要内容,应该基于当前路线。重点是我需要某种指针,比如角度“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模板的理解可能有问题,我只是根据角度模板来解决这个问题。
答案 0 :(得分:0)
我不确定我的问题,但这是一个答案:
您可以使用{{> yield}}
标记执行此操作。它将定义一个动态区域,该区域将显示与当前路径相对应的视图。
您也可以像设置一样为整个应用设计“设计”布局,例如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允许您使用路由“名称”,因此如果您更改URL,它将不会执行任何操作。
我建议你阅读一本名为Discover Meteor的好书!