標籤:
隨著時代的不斷進步,各種各樣的開發理念與開發架構不斷的提出與發展,目前來說,除了遊戲,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 的一些見解,希望可以協助需要學習的朋友們。
AngularJs的理解