Mustache js输出胡子js代码

时间:2014-04-14 09:39:17

标签: javascript json mustache

我试图在不解析某些变量的情况下制作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的新手,我在文档中找不到这个(我理解的评论,如果我理解的话,但是我找不到这个。)

2 个答案:

答案 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
*
* &lt;b&gt;GitHub&lt;/b&gt;
* <b>GitHub</b>
* <b>GitHub</b>
* {{company}}