新聞中心
1、AngularJs主要解決的是邏輯問題,實現(xiàn)數(shù)據(jù)雙向綁定,實現(xiàn)model和view的雙向刷新,是比較完美的html模板引擎,實現(xiàn)邏輯和view的分離。
2、AngularJs主要適用于單頁應用。
3、代碼結(jié)構(gòu)清晰,邏輯清晰。
4、編寫的時候應該盡量少用其他庫和框架,實在不能用angular解決了在考慮使用其他庫和框架
5、controller只負責邏輯處理業(yè)務邏輯,不要在其中進行dom操作,controller的scope中的變量時可以繼承的,普通變量只能繼承,不能從子controller改變父controller的中的變量,但是如果變量是對象,那么自controller中對變量的改變,會同時改變父controller中的變量。非父子Controller中要共享數(shù)據(jù)和函數(shù),采用service。Controller中需要進行事件傳播采用event bus。
6、filter使用在dom上,負責對顯示的數(shù)據(jù)進行格式化;directive使用在dom上,主要用于dom操作;service主要為其他模塊提供可注入的服務。
7、Angular的模塊使用依賴注入,定義后angular將自動加載并且加載模塊。
8、在非scope的作用域中改變scope的變量值,使用$digest() /?$apply()函數(shù)進行model的刷新,進而使view和model都更新。
一般定義一個安全更新方法,這樣不管是不是在scope的更新生命周期,都不會報錯
factory([($rootScopeApp)?{ ????(scopefn)?{ ????????fn?=?angular.isFunction(fn)???fn?:?angular.noopscope?=?scope?&&?scope.$apply???scope?:?$rootScope(!scope.$$phase)?{ ????????????scope.$apply(fn)} ????} }])
9、最先執(zhí)行的函數(shù)是config,config中只能注入constant類型和provider類型的服務,在config中主要進行一些全局配置和路由。
10、??????????? 在依賴的模塊都加載完成后會執(zhí)行run,可在此函數(shù)中先行定義一些變量和數(shù)據(jù)。
11、??????????? 有多重方式定義service,其中value定義無法引入其他服務,相當于直接定義一個對象;constant定義同value,并且定義后的其中的值是不能改變的;service、factory、provider三者主要是封裝不一樣,定義的服務概念一樣。
12、??????????? 支持友好的restful風格的url,get\put\post\delete,提供resource服務來簡化資源的處理,有比較完善的promise處理方案。
13、??????????? 盡量只在directive中和controller中來使用scope,以免造成代碼的混亂。
14、??????????? 內(nèi)部集成了jqlite,來進行dom的操作。
15、??????????? 模塊定義的時候注入的是模塊,controller、service等中注入的是模塊中定義的service,頁面中使用的是模塊中的filter(在dom上直接使用)、directive(在dom上直接使用)等,只有模塊注入了,才能將其內(nèi)部定義的service、filter、directive注入;一般來說在app模塊定義的時候?qū)⑺心K注入,controller、directive中一般只需要注入service,filter中不能注入。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
本文名稱:Angular1.x概念解析-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://fisionsoft.com.cn/article/gjioh.html