angular是什么:為動(dòng)態(tài)web應(yīng)用設(shè)計(jì)的結(jié)構(gòu)框架蔗包;
核心的功能:
1蛛壳,雙向數(shù)據(jù)綁定:實(shí)現(xiàn)了model和view的完全綁定在一起寞缝,model變化派敷,view也變化蛹批,反之亦然;
上面是一個(gè)小例子篮愉;
2腐芍,模板:
模板相當(dāng)于html文件被瀏覽器解析到DOM中,angular把模板當(dāng)做是Dom來(lái)操作试躏,去生成一些指令來(lái)完成對(duì)view的數(shù)據(jù)綁定
3猪勇,MVVM:
Model-View-ViewModel
model:模型中包含了代表當(dāng)前的應(yīng)用數(shù)據(jù),
view :視圖顯示了這些數(shù)據(jù)颠蕴;
controller :控制器管理模型和視圖之間的關(guān)系泣刹;
4,依賴注入:
擁有內(nèi)建的依賴注入子系統(tǒng)犀被,可以幫助開發(fā)人員更容易的開發(fā)椅您,理理解和測(cè)試應(yīng)用
5,指令:
ng-app: 表明一個(gè)angularjs應(yīng)用程序寡键,
ng-init:初始化作用掀泳,變量、對(duì)象西轩、數(shù)組员舵;一般很少使用,都是用一個(gè)控制器來(lái)代替它
ng-model:使用ng-model指令可以把程序數(shù)據(jù)綁定到html中藕畔,實(shí)現(xiàn)model和view的雙向綁定马僻;
表達(dá)式{{}} ?在{{}}中可以寫表達(dá)式;
ng-bind:和{{}}類似注服,ng-bind在angular解析渲染完畢后將數(shù)據(jù)顯示出來(lái)巫玻;
ng-click:定義一個(gè)angularjs單擊事件;
ng-repeat:遍歷數(shù)組集合中的每一個(gè)元素祠汇;
ng-class:預(yù)設(shè)指令,用來(lái)動(dòng)態(tài)自定義dom元素的css className
ng-include:將多個(gè)頁(yè)面的公共不封提取出來(lái)熄诡;
6 過(guò)濾器: ?| 管道符
格式化為貨幣格式:{{price | currency }}? {{price | currency : ‘¥’}}
全部轉(zhuǎn)化為大寫:{{name ?| ?uppercase}} ?
全部轉(zhuǎn)化為小寫:{{name | lowercase}}
限制數(shù)組或字符串串?長(zhǎng)度 {{ arr | limitTo : 2 }}
給數(shù)字添加千位分隔符
{{ 12345 | number }}
{{ 12345 | number : 2 }} 保留留2位小數(shù)
排序
ages | orderBy: 'age' : false 升序
ages | orderBy: 'age' : true 降序
ages | orderBy: 'age'
ages | orderBy 數(shù)組升序
ages | orderBy: order: true 數(shù)組降序
7 控制器:
AngularJS程序被控制器?控制
var app = angular.module(“myApp”, []); 獲取應(yīng)用程序
app.controller(“myCtrl”, function ($scope) {}); 控制器?設(shè)置
$scope 用來(lái)保存AngularJS Model的對(duì)象
設(shè)置值
添加變量量
添加函數(shù)
8 內(nèi)置服務(wù) :
AngularJS提供了了一些功能的封裝可很,但是使用方法和之前的庫(kù)不不太一樣
在AngularJS中是以一個(gè)參數(shù)的形式傳遞到控制器?中,在controller中去使?用
有關(guān)定時(shí)器?
$timeout
$timeout(function () {
console.log("haha");
}, 2000);
$interval
$interval(function () {
console.log("hehe");
}, 200);
和JS定時(shí)器?區(qū)別
返回值 id || promies
取消方式
$timeout.cancel();
$interval.cancel();
內(nèi)部實(shí)現(xiàn)封裝了了特殊內(nèi)容
$location absUrl() 獲取地址
$http 發(fā)起網(wǎng)絡(luò)請(qǐng)求凰浮,獲取數(shù)據(jù)
$http.get(“http://localhost:8888/data.json”).success(function (data) {
console.log(data);
});
9 自定義指令:
通過(guò)內(nèi)置指令為應(yīng)?用添加功能我抠,并且AngularJS允許自定義指令創(chuàng)建指令restrict: "E",
restrict: "A"
restrict: "C"restrict: "M",replace: trueapp.directive("lidazeDirective", function () {return {restrict: ‘A’,template: "
自定義指令哦
"};});templateUrl: ‘home.html’ 設(shè)置自定義指令對(duì)應(yīng)的地址