Ven*_*h K 23 javascript handlebars.js
如何从Handlebars脚本中调用JavaScript函数?原因:
我无法{{#each}}从车把内部打破.所以我需要将它传递给JavaScript来做逻辑.
Hüs*_*BAL 41
你可以用帮手做到这一点;
Handlebars.registerHelper("printItems", function(items) {
var html = "<ul>";
items.forEach(function(entry) {
html += "<li>" + entry + "</li>";
});
html += "</ul>";
return html;
});
Run Code Online (Sandbox Code Playgroud)
并在你的车把模板;
{{printItems items}}
Run Code Online (Sandbox Code Playgroud)
上面的代码会将您的项目列入清单.
更多细节请参考这里.转到帮手部分
Handlebars是JavaScript的最小诱人语言,因此它不允许您从模板中执行任意代码.但是,把手会为您提供帮助,让您可以在模板上执行预定义的代码.内置的的有:each,unless,if和else.
您可以使用该Handlebars.registerHelper方法创建自己的帮助程序.这是一个格式化电话号码的简单示例.只要在调用之前注册帮助程序,您就{{formatPhoneNumber phoneNumber}}可以在代码中的任何位置使用它.
Handlebars.registerHelper("formatPhoneNumber", function(phoneNumber) {
phoneNumber = phoneNumber.toString();
return "(" + phoneNumber.substr(0,3) + ") " +
phoneNumber.substr(3,3) + "-" +
phoneNumber.substr(6,4);
});
Run Code Online (Sandbox Code Playgroud)
注意:虽然技术上可以从帮助程序中执行非呈现代码,但这被认为是不好的做法,如果可能的话应该避免.
| 归档时间: |
|
| 查看次数: |
29496 次 |
| 最近记录: |