AngularJS(十二)控制器

轉載地址:http://www.cnblogs.com/liulangmao/p/3720271.html


本篇主要介紹控制器:

控制器在前面的例子中已經大量的用到,它的作用主要是:

控制某塊視圖,通過$scope向這塊視圖提供數據,函數,並且監視需要被檢測的部分,當發生變化時,做出相應的動作,從而起到控制該部分視圖的作用

爲了保持控制器的最小化和可管理,應該爲視圖中的每個功能都創建一個控制器,比如,有一個菜單,就創建一個menuController,有一個導航,就創建一個NavController... 

控制器可以內嵌,比如:

<div ng-controller = "ParentController">
  <h3>{{title}}</h3>
  <div ng-controller = SonController>
    <h5>{{title}}</h5>
  <div>
</div>
function ParentController ($scope){
    $scope.title = 'I am ParentController';
}
function SonController ($scope){
    $scope.title = 'I am SonController';
}

可以得到正確的視圖:

如果我們把這句話註釋掉: 

//$scope.title = 'I am SonController';

會得到這樣的視圖:


實際上,控制器的嵌套,就是作用域的嵌套,傳遞給內嵌控制器呃$scope繼承了它父控制器的$scope.
所以
SonController的$scope可以訪問ParentController的$scope的所有屬性和方法

------------------------------------------------------------------------------------------------------------------------------------------------------------

遺留問題:

當一個視圖有多個功能的時候,沒有辦法爲一個div添加兩個控制器,雖然控制器可以嵌套,但不能錯位嵌套,比如:

<div ng-controller="controllerOne">

  <div ng-controller="controllerTwo">

</div>

      </div>

另外,還有一個"視圖+路由"的方法,將在後面介紹.不知道是否能夠解決這些問題.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章