繁体   English   中英

使用meteor将数据传递给动态创建的模板

[英]Pass data to dynamically created template with meteor

跟进这个问题/答案(第二个答案) 在Meteor.js中动态加载模板

我在当前显示的模板中设置了一个帮助器,我将动态返回模板。 这非常有效。

Template.template1.helpers({

    dynamicView: function(){
        return Template['dynamic_template']();
    }
})

这最终在模板1中显示我的html:

问题:

  1. 如何在创建数据时将数据传递给此模板,我可以这样做:

    Template ['dynamic_template'](data1,jsonData2);

  2. 我希望template1中的dynamicView助手也是动态的,因为它可以根据其他一些标准拥有不同的模板。 我可以在这里使用Session并将dynamicView return语句更改为以下内容:

    dynamicView:function(){return Session.get('dynamicTemplate'); }

和其他地方Session.set('dynamicTemplate', Template['dynamic_template']()); 这有效,但建议使用。 它只是一个字符串,但我担心性能问题和模板的大小被反应通过

好吧,我想我不得不分开我的答案:

用1。

模板是编译的把手模板,因此您只需要为它们提供一个上下文,以便可以填充把手数据:

data = {name1:value1, name2:value2}
return Template['dynamic_template'](data);

因此{{name1}}{{name2}}分别填满了value1value2

2。

是的,应该可以,你可以传递任何会导致HTML的数据。 有关非常详细的视频广播,请查看有关模板功能的EventedMind截屏视频: http ://www.eventedmind.com/posts/meteor-rendering-template-functions

模板系统的用例可能不是这个。 您可能希望使用Meteor.render ,但这取决于您想要做什么。

尽管Session名称,它只是一个反应性的javascript变量,所以它应该没有更大的字符串也可以在普通的javascript变量中使用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM