[英]Angular directive name: only lower case letters allowed?
我的代碼:
app.directive('abcabc', function (){ alert('directive');}); // working
但
app.directive('abcAbc', function (){ alert('directive');}); // not working !
app.directive('abc-abc', function (){ alert('directive');}); // not working !
我做錯了嗎? 或者Angular指令有特殊的命名規則?
AngularJS試圖讓每個人都開心!
有些人喜歡使用數據屬性,比如data-abc-abc
,我假設讓驗證者感到高興。 其他人更喜歡使用像abc:abc
這樣的命名空間,而其他人更喜歡使用實際的指令名稱abcAbc
。 甚至全部大寫ABC_ABC
。 或者像x-abc-abc
這樣的擴展屬性。
AngularJS規范化HTML中使用的名稱以嘗試涵蓋所有這些情況。 data-
和x-
被剝離,其余部分帶有:
, -
和_
作為字邊界。 這使得abcAbc
來自上面提到的情況,用於查找在JavaScript中聲明的指令。
這稱為屬性規范化(US:屬性規范化),可以在AngularJS文檔和源代碼中找到 。
您應該在html和camelCase中使用以短划線分隔的名稱作為指令中的相應名稱。
正如您可以在doc上閱讀的那樣: Angular使用name-with-dashes作為屬性名稱,使用camelCase作為相應的指令名稱)
好吧,指令名稱必須全部小寫,至少在AngularJS版本1.4.9中,否則我得到一個$ inject無法找到錯誤
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.