我试图在不解析某些变量的情况下制作Mustache JS输出内容。例如:
{{block.type}}-{{block.id}}-label-{{element.id}}
我希望它只是解析块,这就是我给它以下JSON的原因:
{ block: { type: 'news', id: 23 } }
最终结果应为
news-23-label-{{element.id}}
但是它是
news-23-label-
如何让它不解析部分代码?我是Mustache JS的新手,我在文档中找不到这个(我理解的评论,如果我理解的话,但是我找不到这个。)
答案 0 :(得分:2)
这种解决方法会对您有所帮助吗? Click小提琴。
<强> HTML:强>
<div id="output"></div>
<script type="text/html" id="test1">
{{block.type}}-{{block.id}}-label-{{block.elId}}
</script>
<强> JS:强>
var output = $("#output"),
template = $("#test1").html(),
data = '{ "block": { "type": "news", "id": 23, "elId": "{{element.id}}" } }',
html = Mustache.render(template, JSON.parse(data));
output.append(html);
<强>输出:强>
news-23-label-{{element.id}}
答案 1 :(得分:0)
现在似乎有可能。您可以更改然后恢复默认分隔符。您可以在此处找到文档Variables
部分的示例https://github.com/janl/mustache.js(请参阅模板的最后三行):
查看:
{
"name": "Chris",
"company": "<b>GitHub</b>"
}
模板:
* {{name}}
* {{age}}
* {{company}}
* {{{company}}}
* {{&company}}
{{=<% %>=}}
* {{company}}
<%={{ }}=%>
输出:
* Chris
*
* <b>GitHub</b>
* <b>GitHub</b>
* <b>GitHub</b>
* {{company}}