{{Mustache嵌套模板}}

3
我想知道这是否可能。在这个例子中,HTML文件将是:

{{i18n.sample_message}}

在我的渲染函数中,我有以下内容:
var json = {
 i18n:i18n,
 sampleDate:'10/10/10'
}
$('div').html(Mustache.to_html(template,json);
i18n文件是一个对象,其中有一个关键字:
"sample_message": "一些长信息
日期为:{{json.sampleDate}}
"
现在屏幕上显示的是{{json.sampleDate}}。我尝试将字符串结束于分号并使用“+”来连接值,但那也不起作用。
目前,我没有将{{json.sampleDate}}放入i18n映射中,而是将我的HTML更改为:
{{i18n.sample_message}}{{json.sampleDate}}

实际上,我有一些长段落需要注入一些动态值。

1个回答

1

我以一种丑陋的方式使其工作。如果有更简洁/更好的方法,请评论/编辑。

我不得不调用Mustache.to_html两次。

var html = Mustache.to_html(template,json);
return Mustache.to_html(html,json);

通过再次调用 to_html,Mustache 找到了 {{json.sampleDate}} 并用我的 json 中的值替换了它。

经过一些思考,我放弃了在i18n中使用handlebars,并重新安排了我的HTML。从风格上讲,我认为它更加清晰。 - Barry

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接