美文网首页我爱编程
AngularJS 之控制器(Controller)

AngularJS 之控制器(Controller)

作者: 聂叼叼 | 来源:发表于2018-04-14 23:26 被阅读0次

        AngularJS 控制器控制AngularJS 应用程序的数据。AngularJS 控制器是常规的JavaScript 对象

        AngularJS 应用程序被控制器控制。ng-controller指令定义了应用程序控制器。控制器是JavaScript 对象,由标准的 JavaScript对象的构造函数创建。

        来看一个例子:

定义一个控制器

应用解析:

AngularJS 应用程序由ng-app定义。应用程序在<div>内运行。ng-controller="myCtrl"属性是一个 AngularJS 指令。用于定义一个控制器。myCtrl函数是一个 JavaScript 函数。

AngularJS 使用$scope对象来调用控制器。在 AngularJS 中, $scope 是一个应用对象(属于应用变量和函数)。

控制器的$scope(相当于作用域、控制范围)用来保存AngularJS Model(模型)的对象。(我所用的$rootScope是$scope的父类,比$scope的域更加大);

控制器在作用域中创建了两个属性(firstNamelastName)。

ng-model指令绑定输入域到控制器的属性(firstName 和 lastName)。


控制器方法

上面的实例演示了一个带有 lastName 和 firstName 这两个属性的控制器对象。

控制器也可以有方法(变量和函数):

拥有变量和函数(方法)的控制器

外部文件中的控制器(其实就是把控制器写在一个js文件中,然后引进来就ok,跟引js库类似)

在大型的应用程序中,通常是把控制器存储在外部文件中。只需要把标签<script>中的代码复制到名为 personController.js 的外部文件中即可:

html页面 personController的js文件

            控制器定义有两个参数, 第一个是控制器名称(字符串), 第二个是一个函数或者数组, 当为函数时, 表示控制器构造函数, , 当为数组时, 数组前面的元素为构造函数用到的字符串形式的服务, 数组最后一个元素为构造函数, 此时构造函数的参数列表和数组前面元素是一一对应的, 例如:

module.controller("myController", function ($scope, $http, $timeout){

  //

});

module.controller("myController", ["$scope", "$http","$timeout", function (scope,http ,timeout ){

  //

}]);


AngularJS model 中可以有多个控制器:

例如:

代码

可以理解每个定义的控制器,是一个有函数和变量的区域,但是这些区域都是在$scope这个域里面。

相关文章

网友评论

    本文标题:AngularJS 之控制器(Controller)

    本文链接:https://www.haomeiwen.com/subject/aahrkftx.html