假设我正在数据库中存储<div>{{name}}</div>
和<div>{{age}}</div>
。然后我想在模板中呈现第一个HTML字符串- {{> template1}}
,它只使用其中包含{{name}}
句柄的第一个字符串进行呈现。 接下来,我希望将新生成的模板/ HTML数据提供给它,以便填充句柄中实际的 name
,这样我们就会得到<div> John </div>。 我尝试了以下操作:
<template name="firstTemplate">
{{#with dataGetter}}
{{> template1}}
{{/with}}
</template>
其中template1被定义为
<template name="template1">
{{{templateInfo}}}
</template>
templateInfo是一个帮助程序,从数据库中返回包含handlebar的上述html字符串。
dataGetter只是这样的(仅为示例,我使用不同命名的集合)
Template.firstTemplate.dataGetter = function() {
return Users.findOne({_id: Session.get("userID")});
}
我无法获取{{name}}的值。我已经尝试了几种不同的方法,但似乎Meteor不理解需要使用数据来评估字符串中的handlebars。由于正在使用其他软件包,它们目前还没有0.8+版本支持,所以我无法升级到Blaze 0.8+. 如果您有任何想法如何使其正常工作,那将非常感激。
meteor add spacebars-compiler
),这样你就可以使用 SpacebarsCompiler。 - Alban Lecocq