检查Handlebars助手是否已经存在?

时间:2013-05-02 08:40:17

标签: handlebars.js

Handlebars中是否有办法检查我们尝试注册的助手是否已经存在?

我有一个案例,iam动态注册一个帮助器,所以如果它已经存在那么不想再次注册..

1 个答案:

答案 0 :(得分:3)

AFAIK没有官方记录的方式来确定是否已经注册了帮助者。但是,帮助程序存储在Handlebars.helpers中的简单查找表中,因此您可以执行此操作:

if(!('helper' in Handlebars.helpers))
    Handlebars.registerHelper('helper', function() { ... });

演示:http://jsfiddle.net/ambiguous/QM7QD/1/

您可能希望将Handlebars.helpers的检查添加到您的测试套件,升级核对清单或其他任何内容,因为Handlebars.helpers不能保证在那里。

顺便说一句,我认为重新注册助手不会成为一个问题。新助手将覆盖旧助手,因此两个助手是否相同无关紧要;当然,如果你有几个同名的帮助者,那么你遇到的问题比双重登记助手要大。