gpt4 book ai didi

meteor - 如何从模板名称集合渲染 meteor 模板?

转载 作者:行者123 更新时间:2023-12-04 12:34:18 24 4
gpt4 key购买 nike

我在 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>

最佳答案

您可以制作 render helper :

 Handlebars.registerHelper('render', function(name, options) {
if (Template[name])
return new Handlebars.SafeString(Template[name]());
});

并与它一起使用
{{render templateName}}

关于meteor - 如何从模板名称集合渲染 meteor 模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13536900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com