2013-05-02 71 views
1

Handlebars有没有办法检查我们试图注册的帮助器是否已经存在?检查扶手助手是否已经存在?

我有哪里IAM动态注册一个帮手,因此不希望再次,如果它已经在那里注册的情况下..

回答

2

AFAIK没有找出如果一个助手已注册的官方文件的方式。但是,佣工都存储在一个简单的查找表中Handlebars.helpers所以你可以这样做:

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

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

你可能会想为Handlebars.helpers检查添加到您的测试套件,升级检查清单,或者不作为Handlebars.helpers不保证在那里。

顺便说一句,我不认为重新注册助手会是一个问题。新的助手会覆盖旧的助手,所以如果两个助手都是同一个东西,这并不重要;当然,如果你有几个不同的助手名称相同,那么你遇到的问题就比注册一个助手更重要。

+0

只是为了节省再次注册帮手的时间;我认为它是一件好事。 – agaase 2013-05-02 19:19:41

+1

@ mivaas19:你可能想看一下'registerHelper'看看它是否比'Handlebars.helpers [name] = fn'更有效,首先检查可能不会节省任何时间。 – 2013-05-02 19:47:18