我有以下页面:
main.html中
<html>
<body>
<div>
[more static content]
<div id="content"></div>
</div>
</body>
</html>
tpl1.html
<template name="something">
[...]
</template>
我想使用Iron-router将“something”模板填充到“content”div中。我找不到一种方法来路由路径只渲染div。我试着做类似的事情:
<div id="content">{{yield}}</div>
但总是结果是:
<html>
<body>
<div>
[more static content]
<div id="content"></div>
</div>
[... content from "something" template ...]
</body>
</html>
而不是:
<html>
<body>
<div>
[more static content]
<div id="content">[... content from "something" template ...]</div>
</div>
</body>
</html>
我想做什么。
我的铁路由器配置是:
Router.map(function () {
this.route('principal',{
path:"/someaction",
template:"something"
});
¿我该怎么做?谢谢!
答案 0 :(得分:2)
你基本上拥有它。您 需要的唯一额外代码是在您的div中添加{{yield}}
:
<html>
<body>
<div>
[more static content]
<div id="content">{{yield}}</div>
</div>
</body>
</html>
如果你只是读了iron-router github,你应该很快找到一个很好的部分来讨论yield。你甚至可以使用多个。
答案 1 :(得分:0)
问题已解决,将main.html文本放入模板中:
<template name="main">
<html>
<body>
<div>
[more static content]
<div id="content">{{yield}}</div>
</div>
</body>
</html>
</template>
并在路由器中:
this.route('principal',{
path:"/someaction",
template:"something",
layoutTemplate:"main"
});
这不是我想要的(因为现在的帐户-ui不起作用),但它是:P。
如果有人知道如何完成原始任务,那就太棒了!