2012-06-27 123 views
8

我有JSON是这样的:胡须里面的HREF

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

和HTML这样的:

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

当我申请胡子,我得到

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

但我是什么试图得到是

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

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

你能帮我吗?

+0

为了防止“://” – Evgeny

回答

4

确保您的模板源代码是直接文本 - 请不要试图将解析的HTML源文件作为您的模板。浏览器将urlencode /转义您的链接href中的这些字符,并导致您在代码中看到的%7Bs%7Ds。小胡子不会意识到这一点。

但是,我想尽量避免传递给胡子的源代码。

Mustache.render(unescape(source),view) 
+0

谢谢!实际上帮助避难。 原来我使用jQuery在模板中进行一些转换,然后将它提供给Mustache(我基本上做了这样的事情:$(“{{something}}”)),这就是为什么这段HTML会被转义 – Evgeny

9

我认为你需要利用&为结合与模板脚本周围模板逃避:

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

发现这个例子over here