小胡子里面的小胡子

Evg*_*eny 10 javascript templates mustache

我有这样的JSON:

 { "something": "http://something.com" }
Run Code Online (Sandbox Code Playgroud)

和HTML像这样:

 <a href="{{something}}">{{something}}</a>
Run Code Online (Sandbox Code Playgroud)

当我申请胡子时,我明白了

 <a href="%7B%7Bsomething%7D%7D">http://something.com</a>
Run Code Online (Sandbox Code Playgroud)

但我想要得到的是

 <a href="http://something.com">http://something.com</a>
Run Code Online (Sandbox Code Playgroud)

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

你能帮助我吗?

Cᴏʀ*_*ᴏʀʏ 11

我认为您需要使用&for escaping与模板脚本一起包围模板:

<script type="text/template" id="tmpl">
    <a href="{{& something }}">{{ something }}</a>
</script>
Run Code Online (Sandbox Code Playgroud)

在这里找到了这个例子.


Sea*_*son 5

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

不过,我想取消您传递给 mustache 的来源可能会奏效。

Mustache.render(unescape(source),view)
Run Code Online (Sandbox Code Playgroud)