javascript - Handlebars如何遍历字符串 像js中的split一样
黄舟
黄舟 2017-04-11 11:25:29
0
2
640

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更方便?
});

或者有什么其他办法?
黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

Antworte allen(2)
黄舟
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分离。模版可重复使用,数据则单独处理。这个例子里数据和模版都比较简单所以优势并不明显。

刘奇

先分好再传给handlebar,或者自己实现helper

模板的实质不就是js操作吗。。。看起来当然是直接js操作dom更方便。
https://www.zhihu.com/questio...

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage