AngularJs的理解
隨著時代的不斷進步,各種各樣的開發理念與開發框架不斷的提出與發展,目前來說,除了游戲,QQ,office這類軟件之外,新出的一些軟件應用開始出現兩個方向,一個是以web為主的webApp,一個是以移動端為主的移動APP,且,現有也有一種聲音認為webapp早晚會取代移動端原生APP,從而一統計算機軟件的應用方式,暫且不論這種說法是否會成為現實,webapp的火爆可見一斑。
下面是我對angularJS的一些見解:
Angular?是一款主旋律的 MVVM?框架,框架和傳統的庫不同: 類庫?是一些函數的集合,它能幫助你寫WEB應用。起主導作用的是你的代碼,由你來決定何時使用類庫。類庫有:jQuery等 框架?是一種特殊的、已經實現了的WEB應用,你只需要對它填充具體的業務邏輯。這里框架是起主導作用的,由它來根據具體的應用邏輯來調用你的代碼。框架有:knockout等。 Angular.js?主要用于構建單頁面web應用,提供了諸如:
1.解耦應用邏輯、數據模型和視圖
2.AJax服務
3.依賴注入
4.瀏覽歷史
5.測試和更多功能
簡要解釋 Angularjs?就是一個可以給 HTML?加上互動性的客戶端 js?框架。我們需要明白如何讓 HTML?適時調用 js?。
在 Angular?中,我們通過指令(Directives)給 HTML?加上行為。指令是一個在HTML標簽上的標記,用來告訴 Angular?運行或者引用哪些js代碼。為指令賦值函數名,即可運行。但這不是很好的方式,我們只需明白這就是指令如何綁定行為的
?
AngularJs是什么?
Angular是一個由Goodle支持的webApp前端MVC框架。
Angularjs包括什么?
從angularjs的官方文檔看到,它主要包括以下幾個概念:
Template--模板
Directive--指令
Filter--過濾器
Controller--控制器
Scope--范圍
Service--服務
Module--模塊
Template directive filter這三個主要是與視圖有關的,controller scope service這兩個主要是與控制器有關,module用于結構化項目。
注意:就像上面看到的那樣,在AngularJS中,沒有找到有關Model層的東西!
下面是對各個概念的理解以及如何應用的想法。
- Directive是一種屬性,寫在HTML標簽當中,用戶標識出模板中一些特殊的東西。比如用于顯示“部分模板”的<div ng-view></div>。
- Filter根據官網的解釋,是用于控制視圖中的元素如何顯示,或者說顯示成什么樣的。
- Template是視圖層的具體載體,在Template中可以寫一些輔助的邏輯,如ng-if等
- Controller是控制器,根據官方文檔的建議,不應該在Controller中寫太復雜的東東,在控制器中只寫有關業務邏輯的就可以了。
- Scope,這個東西在看控制器的介紹的時候看到,在個人理解來看,應該是主要用于進行視圖與控制器的數據操作,或者認為是用于打通視圖層與控制器的一個東東。
- 由于文檔中寫到,不建議在控制器中寫太復雜的邏輯,所以我們應該把所有的可供復用的邏輯寫到Service(服務)當中。然后我們可以利用AngularJS框架本身的DI(依賴注入)功能將Service注入到具體的控制器中。
- Module,這個東西類似Java的類庫的概念,我們寫的所有的控制器、過濾器、服務等都得加到Module中,沒什么好說的~
這里要注意一個問題——模型。
按照個人的理解,不論AngularJS再怎樣,其數據的直接來源還是服務器,而服務器傳數據的話,現在比較流行使用JSON格式,所以,就模型層來說,我們只要利用Service從服務器中獲取數據,然后將其解析給在Controller中對應的Scope就行了。剩下的就是AngularJS內部處理,將數據自動綁定到前臺了~
以上就是我對angularJs 的一些見解,希望可以幫助需要學習的朋友們。
?
轉載于:https://www.cnblogs.com/2460403802q/p/5929038.html
總結
以上是生活随笔為你收集整理的AngularJs的理解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自定义封装 banner 组件
- 下一篇: 【移动端debug-6】如何做一个App