一、Controller的創建 1.name:控制器的名稱(建議參考Java包的命名規範:點的方式進行命名); 2.function:回調函數的構造方法(實際是對象,主要考慮到類的調用); 3.$scope相當於mvvm模式的viewmodel,支持變數、函數; 3.1.$ccope的由來: $in ...
一、Controller的創建
angular.controller("name",funtion($scope){ })
1.name:控制器的名稱(建議參考Java包的命名規範:點的方式進行命名);
2.function:回調函數的構造方法(實際是對象,主要考慮到類的調用);
3.$scope相當於mvvm模式的viewmodel,支持變數、函數;
3.1.$ccope的由來:
$injector註射完成後創建的$rootScope(根作用域root Viewmodel,$scope的父類)
3.2.$scope的作用
3.1.1.視圖和控制器的數據傳遞橋梁
3.1.2.封裝臟值檢查(dirtychecking),觸發臟值檢查的條件:
1)$scope.$dirty(暴力臟值檢查,慎用)
2)$scope.$apply(基於$dirty的封裝)
3)$開頭的服務調用
4)ng開頭的指令觸發
4.控制器的創建支持鏈式寫法;
二、嵌套Controller值傳遞
1.內層控制器的值會覆蓋外層控制器的值,內層控制器不存在變數的值,外層控制器的值會作用於內層控制器的值;
2.內層控制器獲取外部控制器的值通過($scope.$parent)的方式獲取,多層嵌套則層層上拋;
三、平行Controller值共用
通過$rootScope進行傳值