11

我有这样的 JSON:

 { "something": "http://something.com" }

和这样的HTML:

 <a href="{{something}}">{{something}}</a>

当我申请 Mustache 时,我得到

 <a href="%7B%7Bsomething%7D%7D">http://something.com</a>

但我想要得到的是

 <a href="http://something.com">http://something.com</a>

我已经尝试过{{{ something}}}, {{& something}},单引号,双引号......我什至阅读了文档。

你能帮助我吗?

4

2 回答 2

14

我认为你需要&结合使用 for escaping 并用模板脚本包围你的模板:

<script type="text/template" id="tmpl">
    <a href="{{& something }}">{{ something }}</a>
</script>

在这里找到了这个例子。

于 2012-06-27T01:20:39.780 回答
5

确保您的模板源是纯文本 - 不要尝试将已解析的 HTML 源作为您的模板。浏览器将对链接href中的那些字符进行urlencode/escape,并生成这些字符,%7Bs%7Ds可以在代码中看到这些字符。小胡子不会承认这一点。

不过,我想取消传递给 mustache 的来源可能会起作用。

Mustache.render(unescape(source),view)
于 2012-06-27T01:21:48.923 回答