首頁 >web前端 >js教程 >angular簡介及其特色介紹_AngularJS

angular簡介及其特色介紹_AngularJS

WBOY
WBOY原創
2016-05-16 16:17:151179瀏覽

先前開發(web或行動裝置)前端主要使用jQuery 原生js,如果使用某些前端UI框架的話,它自己還可能提供一些API可以使用。而且目前很多UI框架都是基於jQuery的,所以說一下由jQuery跨到angularjs跨度較大,研究了一段時間的angularjs ,下面從整體上說說感受吧:

關於和jquery的比較

首先angular是一個mvc框架,它與jquery不同之處在於,前者致力於mvc代碼解耦,採用model,controller以及view方式去組織代碼,而後者提供給你了很多APi函數,你可以不用寫很多原生js去實現比較複雜的效果,比如說動畫,$.animate,這樣的效果如果需要原生js來寫的話,程式碼量將會比較龐大;

其次,jQuery沒有定義你的程式碼如何組織,你可以將它放在一個單獨的js檔案中進行引用,也可以直接寫在頁面中採用script標籤進行包裹,甚至可以直接以內聯的方式寫在html標籤中,但是angularjs會將一個HTML頁面分成若干個模組,每個模組都可以自己的scope,service以及directive,各個模組之間也可以進行通信,但是整體上結構是比較清晰的,就是說其程式碼組織方式是模組化的。

最後,jQuery的思想是先設計好頁面,然後在已有頁面的基礎上進行dom操作後展示頁面,但是angular的view可能僅僅是一個框架,對view的dom操作或者時間監聽都是在directive中實現的,而且一般情況下很少自己直接去寫Dom操作代碼,只要你監聽model。 model發生變化後view也會改變。

關於適用場合

jQuery應該適用於大多數web開發,行動端也有(jQuerymobile),angularjs有人說更適合做SPA(我個人認為在手機上的SPA可能會引發性能上的問題,因為它的髒檢查機制會影響效能),在web端,一些CRUD的應用或管理類軟體還是可以使用的(當然這裡的理解可能不一定準確,會隨著深入學習更多去了解和使用)。

關於UI的結合

開發任何產品都需要用到前端UI,目前很多UI是基於jQuery的,這意味著你如果要用angularjs和這些Ui組件的話,需要用angularjs的directive去重寫些組件,這一過程是比較麻煩的,所幸的是,angular給我們提供了一些UI元件可以使用(web端主要是結合bootstrap前端元件),http://angular-ui.github.io/,而在行動端主要是結合ionic框架http://ionicframework.com/,但是隨著angular的發展,許多HTML5的前端框架也慢慢整合了angularjs版本可供使用。

關於angularjs的特點

1.資料的雙向綁定:這可能是其最令人興奮的特性吧,view層的資料和model層的資料是雙向綁定的,其中之一發生更改,另一方會隨之變化,這不用你寫任何程式碼! (想想jQuery方式下怎麼做)

2.程式碼模組化,每個模組的程式碼獨立擁有自己的作用域,model,controller等。

3.強大的directive可以將許多功能封裝成HTML的tag,屬性或註解等,這大大美化了HTML的結構,增強了可閱讀性;

4.依賴注入,將這種後端語言的設計模式賦予前端程式碼,這意味著前端的程式碼可以提高重用性和靈活性,未來的模式可能將大量操作放在客戶端,服務端只提供資料來源和其他客戶端無法完成的操作;

5.測試驅動開發,angularjs一開始就以此為目標,使用angular開發的應用可以很容易地進行單元測試和端對端測試,這解決了傳統的js代碼難以測試和維護的缺陷

以上就是研究angularjs一段時間得出的結論,其中某些地方可能有所疏漏,沒關係,接下來會展開其中某一點一步步去學習。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn