angular.js - angularjs中自訂指令scope的問題
淡淡烟草味
淡淡烟草味 2017-05-15 17:07:33
0
4
776

angularjs中自訂的指令中scope的值為{}創造了一個隔離作用域,但仍能存取到父級作用域中的屬性,怎麼回事? (隔離作用域應該不能存取父級作用域的屬性啊,在沒有進行綁定策略之前)

淡淡烟草味
淡淡烟草味

全部回覆(4)
巴扎黑

先說一點你這個例子裡也沒給scope屬性賦值。 scope屬性三種取值:true,false,{}。 false是預設值。

預設情況,false。此時,子作用域和父作用域是一個,scope.$$id的值一樣。

為true時是建立一個新作用域,scope.$$id值不同了。不過此作用域繼承自父作用域。 就是和原生js作用域鏈的特性相同,子作用域可存取父作用域中的屬性和方法,父作用域不可存取子作用域的屬性屬性和方法。

為{}時,是真正的隔離。這時自訂指令的作用域和父作用域完全沒關係了。但如果你還要存取父作用域的屬性方法怎麼辦,就把對應的屬性配置在{}中。具體配置方法題主自行谷歌百度吧。

Peter_Zhu

同一個控制器裡都可以存取到,不同的控制器就存取不到

左手右手慢动作

你沒有隔離呀,隔離的話要加scope:{}

phpcn_u1582

隔離scope有兩種方式:

scope: true
scope: {}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!