AngularJS控制器
时间:2020-02-23 14:29:33 来源:igfitidea点击:
控制数据流非常重要。
尤其是当我们谈论Web应用程序时。
什么是ANGULARJS控制器?
AngularJS应用程序的数据由AngularJS控制器控制。
这些控制器不过是JavaScript对象。
控制器从视图中获取数据并进行处理。
然后将数据发送到视图,该视图又显示给用户。
应用程序控制器由ng-controller定义。
例子:
<html> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script> <body> <div ng-app="firstApp" ng-controller="firstCtrl"> Initials: <input type="text" ng-model="Initials"><br> Middle Name: <input type="text" ng-model="middlename"><br> <br> Full Name: {{Initials + " " + middlename}} </div> <script> var app = angular.module('firstApp', []); app.controller('firstCtrl', function($scope) { $scope.Initials = "E"; $scope.middlename = "Ari"; }); </script> </body> </html>
上面给出的应用程序由ng-app =" firstApp"定义。
我们还定义了一个AngularJS属性,例如:ng-controller =" firstCtlr"。
这定义了控制器。
firstCtrl函数是JavaScript函数。
AngularJS使用$scope对象调用控制器。
控制器在此范围内创建两个变量,例如:初始值和中间名。
ng-model指令将输入字段绑定到控制器属性或者变量。
控制器方法
控制器可以具有以下示例中所示的方法:
<!DOCTYPE html> <html> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script> <body> <div ng-app="firstApp" ng-controller="peopleCtrl"> Initials: <input type="text" ng-model="Initials"><br> Middle Name: <input type="text" ng-model="middleName"><br> <br> Full Name: {{fullName()}} </div> <script> var app = angular.module('firstApp', []); app.controller('peopleCtrl', function($scope) { $scope.Initials = "E"; $scope.middleName = "Ari"; $scope.fullName = function() { return $scope.Initials + " " + $scope.middleName; }; }); </script> </body> </html>
外部文件中的控制器
我们可以将控制器存储在外部文件中,以用于更大的应用程序。
为了实现这一点,我们使用以下代码创建一个application.js文件:
angular.module('app',[]).controller('firstCtrl',function($scope) { $scope.message = "Ahoy!" });
名为app的模块将控制器与控制器函数一起保存。
该控制器名为firstCtrl,用于显示" Ahoy!"。
信息。
代码中定义的范围对象用于将信息从控制器传递到视图。
在下一步中,我们使用div类包含ng-controller指令创建一个html文件。
必须注意,必须在代码中引用application.js文件。
<!DOCTYPE html> <html ng-app="app"> <head> <meta chrset="UTF 8"> <title>Hello</title> <link rel="stylesheet" href="css/bootstrap.css"/> </head> <body> <h1> EXAMPLE CONTROLLER</h1> <div class="container"> <div ng-controller="firstCtrl">{{message}}</div> </div> <script src="https://code.angularjs.org/1.6.9/angular.js"></script> <script src="lib/angular.js"></script> <script src="lib/bootstrap.js"></script> <script src="lib/jquery-1.11.3.min.js"></script> <script src="application.js"></script> </body> </html>
控制器的主要职责是创建作用域对象,然后将其传递给视图。