天天看點

AngularJS快速入門3--控制器

控制器(controller)

AngularJS1.x的核心之一就是控制器部分,主要對于視圖中的資料和事件處理函數進行挂載,同時進行一定的業務功能的底層封裝和處理。

    AngularJS1.2版本之前,AngularJS中定義控制器,是直接定義成window全局函數進行處理的,這樣的控制器可以被所有的子產品共用,稱為全局控制器;這樣的處理模式的優點是編寫友善,處理流程清晰;缺點是容易造成變量和函數的全局污染。是以AngularJS在1.2版本之後,進行了優化調整,廢棄了全局控制器,而是将控制器注冊在子產品中,成為子產品中的局部控制器存在,局部控制器也就相當于限定了控制器的作用域範圍。
           

控制器在AngularJS中的作用:

1.通過`$scope`進行資料狀态的初始化操作。
    2.通過`$scope`進行事件處理函數的挂載操作。
           

注:不使用控制器做下面的操作:

1. DOM操作:建議使用AngularJS中的資料雙向綁定和自定義指令執行操作。

2. 表單處理:建議使用Angular中的form controls進行操作。

3. 資料格式化展示:建議使用Angular中的過濾器Filter進行操作。

4. 不同控制器之間的資料共享:建議使用Angular中的自定義服務Service進行處理。

5. 元件生命周期的操作:建議使用Angular中的自定義服務Service進行處理。

控制器文法結構代碼:

var app = angular.module(“myApp”, []);
app.controller(“myCtrl”, function($scope) {
     控制器函數操作部分
     控制器主要進行資料的初始化操作和事件函數的定義
});
           

多個控制器:

為了友善多個控制器中的公共資料初始化,AngularJS提供了一個全局作用域對象`$rootScope`, AngularJS應用中,僅有一個全局作用域,其他所有的$scope作用域都是`$rootScope`的子元素。
           

繼續閱讀