目前我有以下布局:
<div id="main">
{{> my_template}}
</div>
稍后,我有一个选择器$("#main")
,我使用html(..)
更改内容以显示集合中的记录。
所以现在也许它看起来像这样:
<div id="main">
<h1>A title...</h1>
<p>some text</p>
</div>
或者也许是这样(如果我知道的话):
<div id="main">
{{> another_template}}
</div>
这样做的正确方法是什么,以便我可以为其他模板重新呈现/换出my_template
?我必须使用Meteor.render
吗?我怎么能这样做?
修改
我需要更多的澄清,使用只有HTML和没有反应模板变量的模板。如何使用Session
启用/禁用?
<template name="newForm">
<form>
<input..>
<textarea..></textarea>
<!-- more fields.. -->
</form>
</template>
我如何使用Template.newForm
隐藏此内容?在这种情况下我是否还应该使用Template
?
答案 0 :(得分:2)
您可以将所有备用模板放在一起:
<div id="main">
{{> my_template}}
{{> another_template}}
{{> yet_another_template}}
</div>
并且只需在代码中确保您一次只显示其中一个。例如:
Template.my_template = function() {
if (Session.equals("template_to_show", "my_template")) {
return SomeCollection.find();
}
}
Template.another_template = function() {
if (Session.equals("template_to_show", "another_template")) {
return SomeOtherCollection.find();
}
}
// etc