今天公司突然停電了,臨時回家,哈哈 莫名很興奮。
回家裏已經把工作做完,今晚上一起看個電影啊 度過愉快的週末~
控制器
什麼是控制器?
控制器是AngularJS的核心之一,它的作用主要是對視圖中的數據和事件處理函數進行掛載,同時進行一定的業務功能的底層封裝和處理。
var app = angular.module(“myApp”, []);
app.controller(“myCtrl”, function($scope) {
// 控制器函數操作部分
// 控制器主要進行數據的初始化操作和事件函數
的定義
});
控制器怎麼用?
模塊下掛載控制器→控制器的作用範圍僅限於當前模塊→局部控制器
Angular1.2版本以前,控制器的定義,是直接通過全局函數來實現的。
全局控制器造成了全局數據污染~!所以Angular在1.2版本以後進行了徹底修改
廢棄了全局控制器~ 而是提倡使用掛載在模塊下的局部控制器!來更好的控制數據!
//控制器:全局控制器
function ctrl($scope){
$scope.name="tom"//掛載數據
}
這裏用到了掛載,抽空會單獨給大家講解這個~控制器的作用
2、通過$scope進行事件處理函數的掛載操作
控制器的使用注意事項
1、DOM操作:使用AngularJs中的數據雙向綁定和自定義指令執行操作
2、表單處理:使用Angular中的form controls進行操作
3、 數據格式化展示:使用Angular中的過濾器Filter來進行操作
4、不同控制器之間的數據共享:使用Angular中的自定義服務Service進行處理
全局控制器和局部控制器
控制器的作用域
app.controller("myCtrl",function($scope){
$scope.name=summer";
});
多個控制器
相信大家也對控制器有所瞭解了,根據上面我們知道,angularJS中view層解析是通過controller的作用域來將$scope對象解析成相應的內容。
因此我們可以在同一個界面上劃分不同的模塊,通過不同的控制器控制不同的模塊來進行開發,
這樣通過劃分模塊的開發方式,對今後維護代碼帶來了便利。
我們可以寫一個控制器:如
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<meta charset="UTF-8">
<title></title>
<script src="js/angular.min.js"></script>
</head>
<body>
<p ng-controller="myCtrl">{{name}}</p>
<div ng-controller="myCtrl2">
{{name}}
</div>
<script>
var app=angular.module("myApp",[]);
app.controller("myCtrl",function($scope){
$scope.name="summer";
});
</script>
</body>
</html>
app.controller('myCtrl', function ($scope) {
$scope.name = "summer";
});
app.controller('myCtrl2', function ($scope) {
$scope.name="zeoy";
});
這樣頁面就能完美的顯示出兩個不同的名字了
這樣不同的controller他們scope對象是不一樣的,
即使都是用了name這個變量,可以看出controller之間是封閉的,
可是有時候我們面對兩個模塊之間進行數據交互,必然在兩個controller之間進行通信,