来源:自学PHP网 时间:2016-04-21 15:40 作者: 阅读:次
[导读] 在AngularJS中,控制器是一个Javascript函数(类型/类),用来增强除了根作用域意外的作用域实例的。当你或者AngularJS本身通过codescope.$new/code俩创建一个新的子作用域对象时,有一个选项...
AngularJS控制器用来控制AngularJS applications的数据。 AngularJS控制器就是普通的JavaScript对象。 AngularJS控制器 ng-controller指令定义了一个application的控制器。 一个控制器就是一个JavaScript对象,它可以通过标准的JavaScript对象构造函数来创建。 <div ng-app="myApp" ng-controller="myCtrl"> First Name: <input type="text" ng-model="firstName"><br> Last Name: <input type="text" ng-model="lastName"><br> <br> Full Name: {{firstName + " " + lastName}} </div> <script> var app = angular.module('myApp', []); app.controller('myCtrl', function($scope) { $scope.firstName = "John"; $scope.lastName = "Doe"; }); </script> 代码解释: AngularJS application通过ng-app="myApp"来定义。该application的有效作用域处于ng-app所在的<div>中。 ng-controller="myCtrl"属性即一个AngularJS指令,它定义了一个控制器。 myCtrl函数是一个普通的JavaScript函数。 AngularJS使用$scope对象来调用控制器。 在AngularJS中,$scope是一个application对象(即application变量和函数的所有者)。 控制器包含两个属性(或者叫变量):firstName和lastName。它们被附加到$scope对象上。 ng-model指令将input标签的值绑定到控制器的属性上(firstName和lastName)。 控制器的方法 控制器也可以包含方法(将函数赋值给变量): <div ng-app="myApp" ng-controller="personCtrl"> First Name: <input type="text" ng-model="firstName"><br> Last Name: <input type="text" ng-model="lastName"><br> <br> Full Name: {{fullName()}} </div> <script> var app = 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外部文件中: <div ng-app="myApp" ng-controller="personCtrl"> First Name: <input type="text" ng-model="firstName"><br> Last Name: <input type="text" ng-model="lastName"><br> <br> Full Name: {{firstName + " " + lastName}} </div> <script src="personController.js"></script> 另一个例子 angular.module('myApp', []).controller('namesCtrl', function($scope) { $scope.names = [ {name:'Jani',country:'Norway'}, {name:'Hege',country:'Sweden'}, {name:'Kai',country:'Denmark'} ]; }); 然后再application中使用这个控制器文件: <div ng-app="myApp" ng-controller="namesCtrl"> <ul> <li ng-repeat="x in names"> {{ x.name + ', ' + x.country }} </li> </ul> </div> <script src="namesController.js"></script> 以上所述就是本文的全部内容了,希望大家能够喜欢。 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com