2013-05-02 124 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