一:為什么需要MVC
二:前端MVC的困難在哪里
三:AangularJS語境下MVC是如何實(shí)現(xiàn)的
首先要連接js的執(zhí)行順序?
瀏覽器加載腳本 --->加載完成后JIE執(zhí)行編譯運(yùn)行
造成:
1,操作DOM的代碼必須等頁面全部加載完成
2,多個(gè)js文件如何出現(xiàn)相互依賴,程序員必須自己解決
3,js的原型繼承給前端編程帶來了很多困難
AangularJS的Controller ---控制器
使用注意點(diǎn):
1邢锯,不要試圖復(fù)用Controller,一個(gè)控制器只能控制一小塊視圖
2,不要在Controller中操作DOM腹躁,這不是控制器的職責(zé)
3,不要在Controller里面做數(shù)據(jù)格式化,ng有很好用的表單控件
4南蓬,不要在Controller里面做數(shù)據(jù)過濾操作纺非,ng有$fiter服務(wù)
5哑了,一般來說,controller是不會(huì)互相調(diào)用的烧颖,控制器之間的交互通過事件來進(jìn)行
$scope
1.$scope是一個(gè)對(duì)象
2弱左,它給我們提供了工具方法
3,是表達(dá)式的執(zhí)行環(huán)境
4炕淮,是一個(gè)樹形結(jié)構(gòu)拆火,與DOM平行
5,子對(duì)象會(huì)繼承父對(duì)象的$scope上的屬性和方法
6涂圆,每一個(gè)Algular應(yīng)用只有一個(gè)根$scope對(duì)象
7们镜,$scope可以傳播事件,類似DOM對(duì)象
8润歉,$scope不僅是MVC的基礎(chǔ)憎账,也是實(shí)現(xiàn)雙向數(shù)據(jù)綁定的基礎(chǔ)
9,可以用algular.element($0).scope()進(jìn)行調(diào)試
10卡辰,生命周期:創(chuàng)建→注冊(cè)監(jiān)視→檢測(cè)模型變化→觀察模型→銷毀