Angular1.x 概念解析

一、AngularJs主要解決的是邏輯問題,實現數據雙向綁定,實現modelview的雙向刷新,是比較完美的html模板引擎,實現邏輯和view的分離。html

二、AngularJs主要適用於單頁應用。promise

三、代碼結構清晰,邏輯清晰。安全

四、編寫的時候應該儘可能少用其餘庫和框架,實在不能用angular解決了在考慮使用其餘庫和框架restful

五、controller只負責邏輯處理業務邏輯,不要在其中進行dom操做,controllerscope中的變量時能夠繼承的,普通變量只能繼承,不能從子controller改變父controller的中的變量,可是若是變量是對象,那麼自controller中對變量的改變,會同時改變父controller中的變量。非父子Controller中要共享數據和函數,採用serviceController中須要進行事件傳播採用event busapp

六、filter使用在dom上,負責對顯示的數據進行格式化;directive使用在dom上,主要用於dom操做;service主要爲其餘模塊提供可注入的服務。框架

七、Angular的模塊使用依賴注入,定義後angular將自動加載而且加載模塊。dom

八、在非scope的做用域中改變scope的變量值,使用$digest() / $apply()函數進行model的刷新,進而使viewmodel都更新。ide

通常定義一個安全更新方法,這樣無論是否是在scope的更新生命週期,都不會報錯函數

factory([($rootScopeApp) {
    (scopefn) {
        fn = angular.isFunction(fn) ? fn : angular.noopscope = scope && scope.$apply ? scope : $rootScope(!scope.$$phase) {
            scope.$apply(fn)}
    }
}])

九、最早執行的函數是configconfig中只能注入constant類型和provider類型的服務,在config中主要進行一些全局配置和路由。oop

十、            在依賴的模塊都加載完成後會執行run,可在此函數中先行定義一些變量和數據。

十一、            有多重方式定義service,其中value定義沒法引入其餘服務,至關於直接定義一個對象;constant定義同value,而且定義後的其中的值是不能改變的;servicefactoryprovider三者主要是封裝不同,定義的服務概念同樣。

十二、            支持友好的restful風格的urlget\put\post\delete,提供resource服務來簡化資源的處理,有比較完善的promise處理方案。

1三、            儘可能只在directive中和controller中來使用scope,以避免形成代碼的混亂。

1四、            內部集成了jqlite,來進行dom的操做。

1五、            模塊定義的時候注入的是模塊,controllerservice等中注入的是模塊中定義的service,頁面中使用的是模塊中的filter(在dom上直接使用)、directive(在dom上直接使用)等,只有模塊注入了,才能將其內部定義的servicefilterdirective注入;通常來講在app模塊定義的時候將全部模塊注入,controllerdirective中通常只須要注入servicefilter中不能注入。

相關文章
相關標籤/搜索