Handlebars 中有没有办法检查我们尝试注册的助手是否已经存在?
我有一个案例,我正在动态注册一个助手,所以如果它已经在那里,不想再次注册..
AFAIK 没有官方记录的方式来确定帮助者是否已注册。但是,助手存储在一个简单的查找表中,Handlebars.helpers
因此您可以这样做:
if(!('helper' in Handlebars.helpers))
Handlebars.registerHelper('helper', function() { ... });
演示:http: //jsfiddle.net/ambiguous/QM7QD/1/
您可能希望为Handlebars.helpers
您的测试套件、升级清单或任何Handlebars.helpers
不保证存在的内容添加检查。
顺便说一句,我认为重新注册助手不会有问题。新助手将覆盖旧助手,因此两个助手是否相同都无关紧要;当然,如果您有多个同名的不同助手,那么您遇到的问题比双重注册助手更大。