分类分类
更新时间:2026-05-10 21:42:09作者:zhao
AngularJS控制器用来控制AngularJS applications的数据。
AngularJS控制器就是普通的JavaScript对象。
AngularJS控制器
AngularJS applications通过控制器进行控制。
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)。
控制器的方法
上面的例子展示了控制器对象包含两个属性:lastName和firstName。
控制器也可以包含方法(将函数赋值给变量):
<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>
另一个例子
创建一个新的控制器文件并命名为namesController.js:
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>
以上所述就是本文的全部内容了,希望大家能够喜欢。
相关
修真情缘角色扮演303.33 MBv1.0.02026-05-10
下载我的小独角兽女孩休闲益智380.89 MBv1.0.232026-05-10
下载超级种田男孩手机版经营养成1.31Gv1.0.92026-05-10
下载不必要的实验冒险游戏64.9 MBv1.1.592026-05-10
下载军师联盟策略游戏163.2 MBv0.0.12026-05-10
下载翻天喜地凑大钱手机版休闲益智138.72 MBv1.0.92026-05-10
下载东离剑游纪手游动作射击1.6Gv1.4.22026-05-10
下载天猫养车商家版App学习办公74.95 MBv0.6.12026-05-10
下载掌上命运方舟App手游辅助137.48 MBv1.9.12026-05-10
下载退役军人服务APP生活服务67.16 MBv1.2.52026-05-10
下载屯漫漫画APP资讯阅读23.06 MBv2.0.32026-05-10
下载蛋仔派对蛋壳App手游辅助185.73 MBv0.0.22026-05-10
下载









