angular.js - angularjs中自定義指令scope的問(wèn)題
問(wèn)題描述
angularjs中自定義的指令中scope的值為{}創(chuàng)造了一個(gè)隔離作用域,但依然能訪問(wèn)到父級(jí)作用域中的屬性,怎么回事?(隔離作用域應(yīng)該不能訪問(wèn)父級(jí)作用域的屬性啊,在沒有進(jìn)行綁定策略之前)
問(wèn)題解答
回答1:先說(shuō)一點(diǎn)你這個(gè)例子里也沒給scope屬性賦值啊。scope屬性三種取值:true,false,{}。false是默認(rèn)值。
默認(rèn)情況,false。此時(shí),子作用域和父作用域是一個(gè),scope.$$id的值一樣。
為true時(shí)是創(chuàng)建一個(gè)新作用域,scope.$$id值不同了。不過(guò)此作用域繼承自父作用域。 就是和原生js作用域鏈的特性相同,子作用域可訪問(wèn)父作用域中的屬性和方法,父作用域不可訪問(wèn)子作用域的屬性屬性和方法。
為{}時(shí),是真正的隔離。這時(shí)自定義指令的作用域和父作用域完全沒關(guān)系了。但如果你還要訪問(wèn)父作用域的屬性方法怎么辦,就把相應(yīng)的屬性配置在{}中。具體配置方法題主自行谷歌百度吧。
回答2:同一個(gè)控制器里都可以訪問(wèn)到,不同的控制器就訪問(wèn)不到
回答3:你沒有隔離呀,隔離的話要加scope:{}
回答4:隔離scope有兩種方式:
scope: truescope: {}
相關(guān)文章:
1. mysql - 把一個(gè)表中的數(shù)據(jù)count更新到另一個(gè)表里?2. mysql 查詢身份證號(hào)字段值有效的數(shù)據(jù)3. node.js - 為什么微信的消息MsgId出現(xiàn)重復(fù)了,無(wú)法排重了。。4. mysql的主從復(fù)制、讀寫分離,關(guān)于從的問(wèn)題5. MySQL 截短某一列的字符串6. 請(qǐng)教使用PDO連接MSSQL數(shù)據(jù)庫(kù)插入是亂碼問(wèn)題?7. mysql - 分庫(kù)分表、分區(qū)、讀寫分離 這些都是用在什么場(chǎng)景下 ,會(huì)帶來(lái)哪些效率或者其他方面的好處8. mysql - 字符串根據(jù)字典替換9. 視頻文件不能播放,怎么辦?10. node.js - nodejs開發(fā)中常用的連接mysql的庫(kù)
