您好,登錄后才能下訂單哦!
ng-controller是為應用變量添加控制器
當有兩個控制器father、child且child 在 father內,那child 可以稱為子控制器,它將繼承父控制器father的scope。child就可以訪問到father的scope中的所有函數和變量。
例:
<div ng-controller="father"> <div >name1:{{ name1 }}</div> <div ng-controller="child">name2:{{ name2 }}</div> </div>
情況1:
app.controller("father",function ($scope) { $scope.name1 = "x"; $scope.name2 = "y"; });
頁面顯示結果:
name1:x name2:y
情況2:
app.controller("child",function ($scope) { $scope.name1 = "a"; $scope.name2 = "b"; });
頁面顯示結果:
name1: name2:b:
情況3:
app.controller("father",function ($scope) { if($scope.name1){ $scope.name1 += "!"; console.log($scope.name1); } else { $scope.name1 = "@"; console.log($scope.name1); } if($scope.name2){ $scope.name2 += "#"; console.log($scope.name2); } else { $scope.name2 = "$"; console.log($scope.name2); } console.log("father"); }); app.controller("child",function ($scope) { if($scope.name1){ $scope.name1 += "%"; console.log($scope.name1); } else { $scope.name1 = "^"; console.log($scope.name1); } if($scope.name2){ $scope.name2 += "&"; console.log($scope.name2); } else { $scope.name2 = "*"; console.log($scope.name2); } console.log("child"); });
控制臺打印結果:
@ $ father @% $& child
頁面顯示結果:
name1:@ name2:$&
可以看出name1的頁面顯示結果與控制臺打印結果不一致
結論:
父級控制器先執行而子級控制器后執行。父級和子級控制器都可對父級下scope作用域進行訪問操作,但當子級控制器嘗試處理父級作用域內、子級作用域外的數據則可能會導致父級中的數據變臟。
以上這篇基于Angular中ng-controller父子級嵌套的相關屬性詳解就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。