本文为H5EDU机构官方HTML5培训教程,主要介绍:AngularJs 基础教程―― 控制器
AngularJS控制器 AngularJS控制器控制AngularJS应用程序的数据。 AngularJS控制器是常规的JavaScript对象。 AngularJS控制器 AngularJS应用程序被控制器控制。 ng-controller指令定义了应用程序控制器。 控制器是JavaScript对象,由标准的JavaScript对象的构造函数创建。 AngularJS实例 <divng-app="myApp"ng-controller="myCtrl"> 名:<inputtype="text"ng-model="firstName"><br> 姓:<inputtype="text"ng-model="lastName"><br> <br> 姓名:{{firstName+""+lastName}} </div> <script> varapp=angular.module('myApp',[]); app.controller('myCtrl',function($scope){ $scope.firstName="John"; $scope.lastName="Doe"; }); </script> 尝试一下 应用解析: AngularJS应用程序由ng-app定义。应用程序在<div>内运行。 ng-controller="myCtrl"属性是一个AngularJS指令。用于定义一个控制器。 myCtrl函数是一个JavaScript函数。 AngularJS使用$scope对象来调用控制器。 在AngularJS中,$scope是一个应用象(属于应用变量和函数)。 控制器的$scope(相当于作用域、控制范围)用来保存AngularJSModel(模型)的对象。 控制器在作用域中创建了两个属性(firstName和lastName)。 ng-model指令绑定输入域到控制器的属性(firstName和lastName)。 控制器方法 上面的实例演示了一个带有lastName和firstName这两个属性的控制器对象。 控制器也可以有方法(变量和函数): AngularJS实例 <divng-app="myApp"ng-controller="personCtrl"> 名:<inputtype="text"ng-model="firstName"><br> 姓:<inputtype="text"ng-model="lastName"><br> <br> 姓名:{{fullName()}} </div> <script> varapp=angular.module('myApp',[]); app.controller('personCtrl',function($scope){ $scope.firstName="John"; $scope.lastName="Doe"; $scope.fullName=function(){ return$scope.firstName+""+$scope.lastName; } }); </script> 尝试一下 外部文件中的控制器 在大型的应用程序中,通常是把控制器存储在外部文件中。 只需要把<script>标签中的代码复制到名为personController.js的外部文件中即可: AngularJS实例 <divng-app="myApp"ng-controller="personCtrl"> FirstName:<inputtype="text"ng-model="firstName"><br> LastName:<inputtype="text"ng-model="lastName"><br> <br> FullName:{{firstName+""+lastName}} </div> <scriptsrc="personController.js"></script> 尝试一下 其他实例 以下实例创建一个新的控制器文件: angular.module('myApp',[]).controller('namesCtrl',function($scope){ $scope.names=[ {name:'Jani',country:'Norway'},{name:'Hege',country:'Sweden'},{name:'Kai',country:'Denmark'} ]; }); 保存文件为namesController.js: 然后,在应用中使用控制器文件: AngularJS实例 <divng-app="myApp"ng-controller="namesCtrl"> <ul> <ling-repeat="xinnames"> {{x.name+','+x.country}} </li> </ul> </div> <scriptsrc="namesController.js"></script> 尝试一下