1.什么是AngularJS
基于MVC模式發(fā)展的MVVM模式 js 框架觉义,
M----------------> Model(數(shù)據(jù)):存儲請求服務(wù)器下來的數(shù)據(jù)
V----------------->View? (視圖):HTML 展示
C---------------->Controller (控制器):通過控制器控制數(shù)據(jù)展示在視圖中悍及,
一旦M,V芭析,C發(fā)生變化敦间,相對應(yīng)的兩個部分 也要 變化,C作為控制器梦皮,代碼量巨大,當項目較大時桃焕,臃腫剑肯。MVC的所有通信都是單向的。即VC CM
從MVC發(fā)展出MVP
M----------------> Model
V----------------->View
P---------------->Presenter (主持)
各部分之間的通信观堂,都是雙向的让网。 View 與 Model 不發(fā)生聯(lián)系,都通過 Presenter 傳遞
即:VP PV, MP PM
從MVP發(fā)展出MVVM
M----------------> Model
V----------------->View
VM---------------->ViewModel
基本與MVP 相同师痕,唯一的區(qū)別在于采用雙向綁定(data-binding):View的變動溃睹,自動反映在 ViewModel,反之亦然七兜。一部分數(shù)據(jù)展示直接交給View來出來丸凭。
2.AngularJS 指令
ng-app、ng-controller腕铸、ng-model惜犀、ng-bind、ng-repeat狠裹、ng-init虽界、ng-click/mouseover
什么是指令,指令是擴展的 HTML 屬性涛菠,帶有前綴?ng-莉御。
ng-app:表示這是一個angularJS應(yīng)用?
ng-controller:表示受到controller控制
ng-model:用于綁定應(yīng)用程序數(shù)據(jù)到 HTML 控制器的值
ng-bind:用于展示應(yīng)用程序數(shù)據(jù)到 HTML 控制器的值
ng-init:初始化一個值
ng-reapet: 循環(huán)集合中元素,可以用?trace by,order 等修飾
ng-click/mouseover:事件表示俗冻,形同html事件礁叔。
{{a}}:angularJS 表達式,可以直接把angularJS的變量輸出迄薄。
3.Controller的使用
<div ng-app="test">
? ? <div ng-controller="main">
????</div>
</div>
<script>
let mod = angular.module("test",[]);
mod.controller("main",function($scope,$http,$interval){
// angularJS code;
});????
獲取test app中的main Controller??再使用?$scope?對象來調(diào)用控制器琅关。
$scope:當前這個controller的angular所有變量集。
$rootscope:獲取所有controller中的angular所有變量集讥蔽。
</script>
ps:自學angularjs涣易,這是我的理解。如果有理解錯誤的地方冶伞,請指出新症。