这是一个有趣的问题。我有这样的模板。
<script id="temp" type="text/x-handlebars-template">
<div class="entry">
<label>Label 1 <input type="text" value="{{val1}}"/></label>
</div>
<div class="entry">
<label>Label 2 <input type="text" value="{{val2}}"/></label>
</div>
<div class="entry">
<label>Label 3 <input type="text" value="{{val3}}"/></label>
</div>
<div class="entry">
<label>Label 4 <input type="text" value="{{val4}}"/></label>
</div>
<div class="entry">
<label>Label 5 <input type="text" value="{{val5}}"/></label>
</div>
<div class="entry">
<label>Label 6 <input type="text" value="{{val6}}"/></label>
</div>
....
.... </script>
我的模板很大。正如我在上面所展示的,它有很多输入,我在我的模板中包含了近 10 个引导程序 datetimepicker 。第一次可以像这样编译和添加dom。
var t = Handlebars.compile($('#temp').html());
$('body').append(t(values);
但是当我只需要更新输入和日期时间选择器值时,重新渲染整个模板并不好。所以我需要做类似下面的事情,它应该单独更新值。
t(valueChanged);
或
t('刷新', valueChanged);
有没有办法做到这一点?这个jsFiddle可以帮助你。