首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mustache js输出mustache js代码

Mustache js输出mustache js代码
EN

Stack Overflow用户
提问于 2014-04-14 17:39:17
回答 2查看 103关注 0票数 0

我正在尝试让Mustache JS在不解析某些变量的情况下输出内容。例如:

代码语言:javascript
复制
{{block.type}}-{{block.id}}-label-{{element.id}}

我希望它只解析代码块,这就是为什么我给它以下JSON:

代码语言:javascript
复制
{ block: { type: 'news', id: 23 } }

最终结果应该是

代码语言:javascript
复制
news-23-label-{{element.id}}

但事实并非如此

代码语言:javascript
复制
news-23-label-

我应该如何让它不解析代码的一部分?我是Mustache JS的新手,我在文档中找不到这一点(我理解的注释,如果我理解的话,但我找不到它)。

EN

回答 2

Stack Overflow用户

发布于 2014-04-14 17:56:08

这个变通方法对你有帮助吗?小提琴的Click

HTML:

代码语言:javascript
复制
<div id="output"></div>

<script type="text/html" id="test1">
    {{block.type}}-{{block.id}}-label-{{block.elId}}
</script>

JS:

代码语言:javascript
复制
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);

输出:

代码语言:javascript
复制
news-23-label-{{element.id}}
票数 2
EN

Stack Overflow用户

发布于 2017-05-26 16:46:08

现在看来是有可能的。您可以更改默认分隔符,然后将其恢复。文档的Variables部分中的示例可以在此处找到https://github.com/janl/mustache.js (请参阅模板的最后三行):

查看:

代码语言:javascript
复制
{
  "name": "Chris",
  "company": "<b>GitHub</b>"
}

模板:

代码语言:javascript
复制
* {{name}}
* {{age}}
* {{company}}
* {{{company}}}
* {{&company}}
{{=<% %>=}}
* {{company}}
<%={{ }}=%>

输出:

代码语言:javascript
复制
* Chris
*
* &lt;b&gt;GitHub&lt;/b&gt;
* <b>GitHub</b>
* <b>GitHub</b>
* {{company}}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23056757

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档