2014-10-20 47 views
1

有沒有簡單的方法給指令分配兩個不同的名字?
事情是這樣的:Angular有兩個名字的指令

app.directive(['directiveNameOne', 'directiveNameTwo'], function() {...}); 

我有處理單選按鈕和複選框以同樣的方式指示,我認爲它會更容易爲其他開發人員對每個元素的獨特的措辭。

+1

如果兩個指令做同樣的事情,那麼不需要兩個指令。如果兩個指令共享相同的邏輯但行爲略有不同,那麼您最好使用單個指令並通過屬性''傳遞配置以調整該行爲。 – codef0rmer 2014-10-20 08:13:23

回答

4

不,沒有任何別名符號。但是你可以提供相同的功能configuaration這兩個指令:

function directiveConfig() { 
    return { 
     link: function() { ... } 
    }; 
} 
directiveConfig.$inject = []; 

app.directive('directiveNameOne', directiveConfig); 
app.directive('directiveNameTwo', directiveConfig); 

但有兩個指令是做同樣的事情可能不是最好的主意,這是令人困惑的。

+0

+1爲你答案的最後一行 – Yasser 2014-10-20 07:01:28

+0

你說得對。我只是想避免像'customRadiobuttonCheckbox'這樣的長名字,但是使用這段代碼我也會遇到屬性問題。 – StinsonMaster 2014-10-20 09:07:54