Meteor 动态模板和Jquery步骤

Meteor 动态模板和Jquery步骤,meteor,Meteor,我正在使用jQuery步骤创建表单向导。从步骤1到步骤2,我需要能够根据步骤1中的选择确定加载哪个模板。我有这个模板。我希望在会话变量更改时呈现不同的模板 <template name = "selectFrame"> <div class = "container"> <div class = "frameCarousel"> {{> Template.dynamic template=active

我正在使用jQuery步骤创建表单向导。从步骤1到步骤2,我需要能够根据步骤1中的选择确定加载哪个模板。我有这个模板。我希望在会话变量更改时呈现不同的模板

<template name = "selectFrame">
    <div class = "container">
         <div class = "frameCarousel">
             {{> Template.dynamic template=active data=this}}
         </div>
    </div>
</template>

board的值(用于确定将呈现哪个模板的会话变量)会按应有的方式更改,但唯一呈现的模板是board的默认值也已设置的模板。谁能提供我需要的帮助或编辑。

我遇到了类似的问题

我没有直接使用session变量,而是创建了一个ReactiveVar,并在helper中使用它

(要访问ReactiveVar,请使用:meteor add ReactiveVar将其添加到项目中)

首先,我创建了一个反应变量来存储我希望它在template.name.created中动态更改的模板名称:

this.templateName = new ReactiveVar(null);
然后,我在Template.name.rendered函数中创建了自动运行,以将该值更改为会话变量更改为的任何值:

this.autorun(function(){
    var templateName = Session.get("template_name");
    Template.instance().templateName.set(templateName);
})
最后,我更改了模板帮助器,以从被动变量获取模板名称:

dynamic_template: function(){
    var dynamicName = Template.instance().templateName.get();
    return dynamicName;
}

我希望这种方法适用于您的特殊情况。

我似乎仍然无法使它起作用。如果您有第二次机会,请查看更新的代码我查看了我的代码,似乎自动运行是在Template.name.rendered函数中定义的,而不是在创建的函数中定义的。很抱歉,我会根据需要编辑我的答案。不适合我。我不确定。当我将created更改为rendered时,它表示template.instance().templateName.get()不是对象。我在呈现的函数之后添加了一个console.log,该函数从未被调用。有什么想法吗?我很难解析你的代码示例。您多次使用template.name,但我不清楚它们中的哪一个与其他匹配。或者他们都应该是一样的?是的,名字的使用有点混乱。template.instance()应该是template.instance()。我也遇到了这个问题。我只能猜测是JQuery的一些步骤打破了我们的空格键模板。只有第一个“步骤”上的变量被反应性地更新;即使我在某个地方手动调用Session.set(),也不会更新任何其他内容。
this.autorun(function(){
    var templateName = Session.get("template_name");
    Template.instance().templateName.set(templateName);
})
dynamic_template: function(){
    var dynamicName = Template.instance().templateName.get();
    return dynamicName;
}