天天看点

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`的子元素。
           

继续阅读