同一個(gè)AngularJS指令,在js文件和html文件中有著不同的命名規(guī)范:在js文件中使用標(biāo)準(zhǔn)的 小駝峰命名法 ,在html文件中使用“小寫字母+連接符 ”的命名法。如下表所示
在js文件中在html文件中
ngAppng-app
myDirectivemy-directive
處理機(jī)制
AngularJS之所以選擇這樣的命名方式,是因?yàn)?/span>html文件不區(qū)分大小寫,而js文件則對大小寫敏感( myDir 和 mydir在js文件中是不同的指令,但html看來是同一個(gè)指令),為了避免可能出現(xiàn)的錯(cuò)誤,所以使用上述命名規(guī)范。
AngularJS執(zhí)行過程中,對“ 小寫字母+連接符 ”形式的命名做如下處理,最終裝換成 小駝峰命名法 :
1. 去掉開始部分的 x- 和 data- ;
2. 第一個(gè)單詞不變,把連接符后面的單詞首字母轉(zhuǎn)換成大寫,去掉連接符。
這里有兩點(diǎn)需要 注意 :
· 指令命名時(shí)不要以 x 或 data 作為第一個(gè)單詞
· 支持的鏈接符包括 : , - 和 _ ,但通常會選擇 - 作為連接符
隔離作用域?qū)ο笾械膶傩悦?/span>
指令隔離作用域?qū)ο笾袑傩悦?guī)則同上,見下面代碼:
.directive('myDirective', function(){
return {
restrict: 'A',
scope: {
myUrl: '@', // 隔離作用域?qū)ο笾袑傩悦麨樾●劮迕?/span>
myLinkText: '@'
},
})
<div my-directive
my-url="http://google.com" <!-- html文件中使用“小寫字母+分割符”的命名方式-->
my-link-text="Click me"
></div>
來源:Vince