1.干什么
重復(fù)勞動(dòng)——獲取、事件、創(chuàng)建
接管 UI
2.好在哪兒
自動(dòng)同步
a.節(jié)約精力——放在更重要的事情上
b.規(guī)范整體開(kāi)發(fā)
3.限制’
官網(wǎng)
https://angularjs.org/
庫(kù):人在用庫(kù)
方便程序員
框架:框架在用人
限制程序員
MVC:
M-Model 模型-數(shù)據(jù)
V-View 視圖-表現(xiàn)層
C-controller 控制器-邏輯處理/業(yè)務(wù)邏輯
數(shù)據(jù)、表現(xiàn)分離
AngularJS是MVC框架
1.一切都是數(shù)據(jù)
2.是個(gè)“框架’’
AngularJS三要素:
1.ng-model:數(shù)據(jù)從哪來(lái)
2.ng-bind:數(shù)據(jù)到哪去
3.ng-app:那塊歸angular管
模板
Angular和原生JS 不互通——兩套
原生JS部分東西 angular 用不了
數(shù)據(jù)多了就不行了
controller
MVC:
M——ng-model
V——{{}}
C——controller
controller:
1.橋梁
2.業(yè)務(wù)邏輯
ng-app主要用來(lái)引入angular這個(gè)模塊
說(shuō)到模塊首先要定義,然后在引用。
var mod=angular.module('');
模塊取個(gè)名字main_mod;
定義模塊
var mod=angular.module('main_mod',[依賴(lài)于什么模塊 ]);
引用模塊
ng-app="main_module"
ng-app這里面所有的東西歸這個(gè)模塊管
往模塊里添加?xùn)|西。
scope:范圍 作用域
mod.controller('control1',function($scope){
//controller 代碼都放這里
// $scope——所有angular數(shù)據(jù)都在scope身上
$scope.a=12
$scope.parseInt= function(n){
return parseInt(n);
};
});
ng-controller="control1"
{{parseInt(a)+parseInt(b)}} 生效
雙向綁定?
雙向-可進(jìn)可出
輸入框——既可以輸入,又可以輸出
*所有的數(shù)據(jù)是雙向的
數(shù)據(jù) <-> UI
依賴(lài)注入?
把依賴(lài)項(xiàng)注入進(jìn)去
函數(shù):函數(shù)的參數(shù)由定義的人決定的?還是調(diào)用的人決定的?
正常函數(shù)的參數(shù)是由調(diào)用的人決定的。
“依賴(lài)反轉(zhuǎn)”
angular里函數(shù)要什么參數(shù)就有什么參數(shù)。
是由定義的函數(shù)來(lái)決定的。好處在于用什么請(qǐng)求什么。
mod.controller('control1',function($scope,$http){
alert(arguments.length)
//結(jié)果是2
});