文章詳情頁
angular.js - angularjs中自定義指令scope的問題
瀏覽:79日期: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. 在mybatis使用mysql的ON DUPLICATE KEY UPDATE語法實現存在即更新應該使用哪個標簽?2. mysql - 表名稱前綴到底有啥用?3. Navicat for mysql 中以json格式儲存的數據存在大量反斜杠,如何去除?4. mysql - 怎么生成這個sql表?5. mysql儲存json錯誤6. 哭遼 求大佬解答 控制器的join方法怎么轉模型方法7. mysql - 數據庫表中,兩個表互為外鍵參考如何解決8. 編輯成功不顯示彈窗9. 怎么php怎么通過數組顯示sql查詢結果呢,查詢結果有多條,如圖。10. sql語句 - 如何在mysql中批量添加用戶?
排行榜
