AngularJS入門教程之控制器詳解
AngularJS 控制器
AngularJS 控制器 控制 AngularJS 應(yīng)用程序的數(shù)據(jù)。
AngularJS 控制器是常規(guī)的 JavaScript 對象。
AngularJS 控制器
AngularJS 應(yīng)用程序被控制器控制。
ng-controller 指令定義了應(yīng)用程序控制器。
控制器是 JavaScript 對象,由標(biāo)準(zhǔn)的 JavaScript 對象的構(gòu)造函數(shù) 創(chuàng)建。
AngularJS 實例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="personCtrl">
名: <input type="text" ng-model="firstName"><br>
姓: <input type="text" ng-model="lastName"><br>
<br>
姓名: {{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>
</body>
</html>
運行結(jié)果:
名:
姓:
姓名: John Doe
AngularJS 應(yīng)用程序由 ng-app 定義。應(yīng)用程序在 <div> 內(nèi)運行。
ng-controller="myCtrl" 屬性是一個 AngularJS 指令。用于定義一個控制器。
myCtrl 函數(shù)是一個 JavaScript 函數(shù)。
AngularJS 使用$scope 對象來調(diào)用控制器。
在 AngularJS 中, $scope 是一個應(yīng)用象(屬于應(yīng)用變量和函數(shù))。
控制器的 $scope (相當(dāng)于作用域、控制范圍)用來保存AngularJS Model(模型)的對象。
控制器在作用域中創(chuàng)建了兩個屬性 (firstName 和 lastName)。
ng-model 指令綁定輸入域到控制器的屬性(firstName 和 lastName)。
控制器方法
上面的實例演示了一個帶有 lastName 和 firstName 這兩個屬性的控制器對象。
控制器也可以有方法(變量和函數(shù)):
AngularJS 實例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="personCtrl">
名: <input type="text" ng-model="firstName"><br>
姓: <input type="text" ng-model="lastName"><br>
<br>
姓名: {{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>
</body>
</html>
運行效果:
名:
姓:
姓名: John Doe
外部文件中的控制器
在大型的應(yīng)用程序中,通常是把控制器存儲在外部文件中。
只需要把 <script> 標(biāo)簽中的代碼復(fù)制到名為 personController.js 的外部文件中即可:
AngularJS 實例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="personCtrl">
名: <input type="text" ng-model="firstName"><br>
姓: <input type="text" ng-model="lastName"><br>
<br>
姓名: {{firstName + " " + lastName}}
</div>
<script src="personController.js"></script>
</body>
</html>
運行結(jié)果:
名:
姓:
姓名: John Doe
其他實例
以下實例創(chuàng)建一個新的控制器文件:
angular.module('myApp', []).controller('namesCtrl', function($scope) {
$scope.names = [
{name:'Jani',country:'Norway'},
{name:'Hege',country:'Sweden'},
{name:'Kai',country:'Denmark'}
];
});
保存文件為 namesController.js:
然后,在應(yīng)用中使用控制器文件:
AngularJS 實例
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<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>
</body>
</html>
運行效果:
- Jani, Norway
- Hege, Sweden
- Kai, Denmark
以上就是對AngularJS 控制器資料的整理,后續(xù)繼續(xù)補(bǔ)充。
- AngularJs學(xué)習(xí)第五篇從Controller控制器談?wù)?scope作用域
- AngularJS控制器controller正確的通信的方法
- AngularJS開發(fā)教程之控制器之間的通信方法分析
- AngularJS指令與控制器之間的交互功能示例
- AngularJS控制器之間的通信方式詳解
- AngularJS控制器詳解及示例代碼
- AngularJS控制器之間的數(shù)據(jù)共享及通信詳解
- 詳解AngularJS控制器的使用
- AngularJS向后端ASP.NET API控制器上傳文件
- 簡述AngularJS的控制器的使用
- AngularJS控制器controller給模型數(shù)據(jù)賦初始值的方法
相關(guān)文章
Angular組件庫ng-zorro-antd實現(xiàn)radio單選框選擇
這篇文章主要為大家介紹了Angular組件庫ng-zorro-antd實現(xiàn)radio單選框取消選擇實現(xiàn)問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
掌握Queries設(shè)計模式優(yōu)化Angular應(yīng)用開發(fā)技巧
這篇文章主要介紹了掌握Queries設(shè)計模式優(yōu)化Angular應(yīng)用開發(fā)的技巧示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
AngularJS constant和value區(qū)別詳解
angularJS可以通過constant(name,value)和value(name,value)對于創(chuàng)建服務(wù)也是很重要的。他們之間有什么不同呢?今天小編給大家分享AngularJS constant和value區(qū)別詳解,需要的朋友參考下2017-02-02
AngularJS實現(xiàn)的根據(jù)數(shù)量與單價計算總價功能示例
這篇文章主要介紹了AngularJS實現(xiàn)的根據(jù)數(shù)量與單價計算總價功能,涉及AngularJS事件響應(yīng)與數(shù)值運算相關(guān)操作技巧,需要的朋友可以參考下2017-12-12
Angular2 自定義validators的實現(xiàn)方法
angular 當(dāng)需要form表單需要驗證時,angular自帶了許多校驗器,但是很多時候自帶的無法滿足業(yè)務(wù)需求,這時候就需要自定義的校驗器,下面通過本文給大家分享Angular2 自定義validators的實現(xiàn)方法,需要的朋友參考下吧2017-07-07
Angular獲取手機(jī)驗證碼實現(xiàn)移動端登錄注冊功能
最近在使用angular來做項目,功能要求實現(xiàn)一是點擊按鈕獲取驗證碼,二是點擊登錄驗證表單。之前用jquery來做項目很好做,使用angular怎么實現(xiàn)呢?其實實現(xiàn)代碼也很簡單的,下面通過實例代碼給大家介紹下,需要的朋友參考下吧2017-05-05

