我正在尝试使用mustache
将标识符(id)附加到下面的href。模板:
<div id='tmpl'>
<a href='#product_detail?'{{id}}>link</a>
</div>
var template = $('#tmpl').html();
数据:
var model = { id: 22 };
使用模型数据呈现模板:
var html = Mustache.to_html(template, model);
结果:
<a href="#product_detail?%7B%7Bid%7D%7D">link</a>
如果模板更改为:
<div id='tmpl'>
<a href='#product_detail?'{{id}}>link</a>
</div>
结果模板为:
<a href="#product_detail?" 0="">link</a>
这个"问题"似乎是jQuery正在改变单引号在模板双引号混淆胡子。将mustache标签放在引号之外也不会给出正确的结果。如何解决这个问题?
谢谢
您需要在href中添加{{id}},如下所示:
href="#product_detail?{{id}}"
我们用type="text/template"把我们的mustache模板放在一个脚本中,我不知道它是否会解决你的转义问题,但是我们这里没有。
<script type="text/template" id="tmpl">
<a href href="#product_detail?{{id}}">link</a>
</script>
如果您遇到一些转义问题,请使用&在id前面:
<script type="text/template" id="tmpl">
<a href href="#product_detail?{{& id}}">link</a>
</script>
希望有帮助
我解决了这个问题,将${id}而不是{{id}}放入属性中例:
<button class="fisherytiles" type="button" data-myid="${Id}" id="imagelink">