如果在Handlebars.js中预编译自定义帮助程序,如何注册自定义帮助程序
How do you register a custom helper if you are precompiling a custom helper in Handlebars.js?
我正试图用命令handlebar app/views/templates/walrus.handlebar
预编译Handlebars.js模板app/views/templates/walrus.handlebar
,但它失败了,因为该模板使用了我在单独的js文件public/javascripts/handlebar_helpers.js
中定义的自定义帮助程序。
我该如何调用Handlebars的命令行版本,以便它知道带有自定义助手的javascript文件?
handlebars <input> -f <output> -k <helper>
它在这里的文档中:http://handlebarsjs.com/precompilation.html
编辑2014年3月:
对于在阅读文档时遇到问题的人,这里有一个自定义助手"全名"的例子
handlebars myTemplate.handlebars -f handlebars-fullname.js -k fullname
有了这个助手:
Handlebars.registerHelper('fullname', function(person) {
return person.firstName + " " + person.lastName;
});
您仍然需要在带有handlebars.runtime.js
的页面中包含帮助程序
handlebars myTemplate.handlebars -f handlebars-fullname.js -k fullname
上面的步骤不是强制性的,即使在预编译期间没有指定帮助程序名称,您的手把模板也可以工作,但是需要在客户端上插入以下代码(基本上应该包含所有帮助程序)
Handlebars.registerHelper('fullname', function(person) {
return person.firstName + " " + person.lastName;
});
我试过这个,效果很好!
相关文章:
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- Highcharts-如何在自定义格式化程序中获得默认的y轴标签格式化程序
- 如何在ExtJs4应用程序上为视图、存储和模型设置自定义文件夹名称
- 制作自定义铬应用程序顶部栏
- 使用javascript为web应用程序自定义键盘快捷键
- 需要帮助自定义幻灯片自动播放
- 使用自定义数据属性或将数据绑定到处理程序来处理事件
- 如何在Sencha Touch应用程序中实现自定义Toast
- 使用自定义断言帮助程序对cli扩展assert进行ember-cli扩展
- 车把自定义帮助程序错误:“options.fn 不是函数”
- UI 引导程序自定义指令控制器不是一个函数
- 自定义验证摘要HTML帮助程序没有'不在客户端工作
- jqgrid 自定义格式化程序:自定义格式化程序始终返回网格的最后一行.为什么
- Handlebars.js自定义帮助程序来计算嵌套元素
- 如何在另一个自定义帮助程序中调用一个自定义辅助程序函数
- 没有参数就无法解析自定义Handlebars帮助程序
- Handlebars.js自定义条件帮助程序
- 如果在Handlebars.js中预编译自定义帮助程序,如何注册自定义帮助程序
- AngularJS/UI引导程序自定义$validator和getterSetter使值消失
- 如何在自定义帮助程序中重新实现 jQuery 的默认帮助程序