文章詳情頁
angular.js - angularjs中自定義指令scope的問題
瀏覽:82日期:2024-09-25 16:50:49
問題描述
angularjs中自定義的指令中scope的值為{}創造了一個隔離作用域,但依然能訪問到父級作用域中的屬性,怎么回事?(隔離作用域應該不能訪問父級作用域的屬性啊,在沒有進行綁定策略之前)
問題解答
回答1:先說一點你這個例子里也沒給scope屬性賦值啊。scope屬性三種取值:true,false,{}。false是默認值。
默認情況,false。此時,子作用域和父作用域是一個,scope.$$id的值一樣。
為true時是創建一個新作用域,scope.$$id值不同了。不過此作用域繼承自父作用域。 就是和原生js作用域鏈的特性相同,子作用域可訪問父作用域中的屬性和方法,父作用域不可訪問子作用域的屬性屬性和方法。
為{}時,是真正的隔離。這時自定義指令的作用域和父作用域完全沒關系了。但如果你還要訪問父作用域的屬性方法怎么辦,就把相應的屬性配置在{}中。具體配置方法題主自行谷歌百度吧。
回答2:同一個控制器里都可以訪問到,不同的控制器就訪問不到
回答3:你沒有隔離呀,隔離的話要加scope:{}
回答4:隔離scope有兩種方式:
scope: truescope: {}
上一條:angular.js - ng-repeat嵌套的directive link函數未執行下一條:angular.js - Angularjs 怎么把select寫成固定的 根據接口地址提交給后臺?
相關文章:
1. MySQL 使用 group by 之后然后 IFNULL(COUNT(*),0) 為什么還是會獲得 null2. wordpress里,這樣的目錄列表是屬于小工具還是啥?3. 我的怎么不顯示啊,話說有沒有QQ群什么的4. mysql 為什么主鍵 id 和 pid 都市索引, id > 10 走索引 time > 10 不走索引?5. 常量在外面不加引號會報錯。6. 一直報這個錯誤7. mysql federated引擎無法開啟8. python如何設置一個隨著系統時間變化的動態變量?9. mysql - 大部分數據沒有行溢出的text字段是否需要拆表10. sublime text3安裝package control失敗
排行榜
