我在 Meteor 中有三个简单的模板,在服务器上有一个集合,它们的名称可以任意组合。我希望能够根据集合中的名称动态呈现这些模板。
目前我正在尝试通过使用客户端订阅集合并通过模板函数访问名称来完成此操作。不幸的是,如果我尝试在名称上运行“>”,Meteor 会尝试呈现变量名称而不是其值所指向的模板。
因此,不是在template1、template2和template3中呈现 html,而是输出仅仅是它们在页面上的名称:“template1 template2 template3”。
这是我一直在使用的代码,我希望有一种方法可以解决我的问题,而无需手动运行 Meteor.render。
服务器js:
TemplatesToRender = new Meteor.Collection("templatesToRender");
TemplatesToRender.insert({templateName: "template3"});
TemplatesToRender.insert({templateName: "template2"});
客户端html:
<body>
{{#each templatesToRender}}
{{> templateName}} // meteor trying to render a template
// called "templateName" instead of the
// variable inside templateName.
{{/each}}
</body>
<template name="template1">
<span>Template 1</span>
</template>
<template name="template2">
<span>Template 2</span>
</template>
<template name="template3">
<span>Template 3</span>
</template>