0

目前我有以下布局:

<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在这种情况下使用吗?

4

1 回答 1

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
于 2013-01-02T03:36:59.380 回答