我正在尝试使用胡子
将一个标识符(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正在将模板中的单引号更改为双引号,这会混淆小胡子。将胡须标记放在引号之外也不会给出正确的结果。怎么解决这个问题?
由于
答案 0 :(得分:9)
您需要在href中添加{{id}},例如:
href="#product_detail?{{id}}"
我们曾经把我们的小胡子模板放在一个带有type =“text / template”的脚本中,我不知道它是否会解决你的逃避问题,但我们还没有。
<script type="text/template" id="tmpl">
<a href href="#product_detail?{{id}}">link</a>
</script>
如果您遇到一些逃避问题,请使用&amp;在id之前:
<script type="text/template" id="tmpl">
<a href href="#product_detail?{{& id}}">link</a>
</script>
希望有所帮助!
答案 1 :(得分:0)
我解决了这个问题,支付将 ${id} 放入属性而不是 {{id}} 例如:
<button class="fisherytiles" type="button" data-myid="${Id}" id="imagelink">