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>

控制器的主要职责是创建作用域对象,然后将其传递给视图。