欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

AngularJS控制器知识讲解

程序员文章站 2022-06-14 12:15:34
1.angularjs控制器 angularjs控制器是一个构造方法。 可以使用模块实例的controller()方法来声明一个控制器,该方法接收两个参数,第一个是控制器名称,...

1.angularjs控制器

angularjs控制器是一个构造方法。

可以使用模块实例的controller()方法来声明一个控制器,该方法接收两个参数,第一个是控制器名称,第二个参数是一个方法,即控制器的构造方法。

var app=angular.module("app",[]);

app.controller("controllername",function(){});

angularjs框架在window对象中增加了一个全局的angular对象,我们可以调用angular对象的module()方法返回一个模块实例,然后调用模块实例的controller()方法来声明一个控制器。

2.控制器对象的实例化

用ng-controller指令可以实例化控制器对象,angularjs框架遇到ng-controller指令时,会根据指定的控制器名称查找控制器的构造方法,然后实例化控制器对象,并将控制器依赖的对象注入控制器对象中。

3.控制器对象实例化时angularjs会创建一个新的作用域对象,名称为$scope,然后会把$scope对象注入控制器对象中。

在同一个页面中可以使用多个ng-controller指令来实例化不同的控制器对象。但是每个控制器对应的作用域对象只能与ng-controller指令所在标签的开始标签与结束标签之间的dom元素建立数据绑定。

4.angularjs应用中的dom事件处理可以在控制器中完成。angularjs提供了一系列的事件绑定指令,这些指令是在原生的javascript事件名称前增加一个“ng-”前缀。例如:ng-click、ng-keyup;

5.angularjs应用模块化

angularjs模块的定义方法:angularjs框架在window对象下新增了一个全局的angular对象,可以调用angular对象的module()方法返回一个模块实例。angular.module()方法能够接收三个参数。

angular.module("modulename",[依赖数组],function(用于配置))。

模块定义完毕后,在html页面中通过ng-app指令指定模块名称来进行引用。

使用模块可以解决命名冲突的问题。

angular.module()方法返回一个模块实例对象,可以调用该对象的controller()、directive()、filter()等方法向模块中添加控制器、指令、过滤器等其他。