Heim > Fragen und Antworten > Hauptteil
JS:
var val="http://www.xxx.com/1.jpg;http://www.xxx.com/2.jpg;";
for(var i = 0; i < val.split(";").length - 1; i++) {
$("body").append("<p><img src=\""+val.split(";")[i]+"\"></p>");
}
Handlebars如何做到像上面的js那样分离字符串。
<script id="dataload_temp" type="text/x-handlebars-template">
<p><img src="http://www.xxx.com/1.jpg"></p><!--需要遍历-->
</script>
用Helper?
Handlebars.registerHelper("pic", function(val) {
//难道在这调用js的split再输出html?那不是直接用js更方便?
});
或者有什么其他办法?
黄舟2017-04-11 11:27:29
var val="http://www.xxx.com/1.jpg;http://www.xxx.com/2.jpg";
var source = "{{#each srclist}}<p><img src='{{this}}'></p>{{/each}}",
template = Handlebars.compile(source);
var context = {srclist: val.split(";")};
$("body").append(template(context));
用模版引擎可以把模版source / template
和数据val / context
分离。模版可重复使用,数据则单独处理。这个例子里数据和模版都比较简单所以优势并不明显。
怪我咯2017-04-11 11:27:29
先分好再传给handlebar,或者自己实现helper
模板的实质不就是js操作吗。。。看起来当然是直接js操作dom更方便。
https://www.zhihu.com/questio...