Angular開發(fā)者指南之入門介紹
什么是Angular
AngularJS是動(dòng)態(tài)Web應(yīng)用程序的結(jié)構(gòu)框架。 它允許您使用HTML作為模板語言,并允許您擴(kuò)展HTML的語法以清晰,簡(jiǎn)潔地表達(dá)應(yīng)用程序的組件。AngularJS的數(shù)據(jù)綁定和依賴注入消除了許多你不得不編寫的代碼。這一切都發(fā)生在瀏覽器中,使其成為任何服務(wù)器技術(shù)的理想合作伙伴。
動(dòng)態(tài)應(yīng)用程序和靜態(tài)文檔之間的動(dòng)態(tài)適配常常通過以下方式解決
- 一個(gè)庫:一組在編寫網(wǎng)絡(luò)應(yīng)用程序時(shí)非常有用的函數(shù)。你的代碼是負(fù)責(zé)在它調(diào)用庫中它認(rèn)為合適的。 例如jQuery
- 框架:Web應(yīng)用程序的特定實(shí)現(xiàn),其中你的代碼填充詳細(xì)信息??蚣苁秦?fù)責(zé),當(dāng)它需要某些應(yīng)用程序特定時(shí)調(diào)用你的代碼。 例如,durandal,ember等。
AngularJS采取另一種方法。 它嘗試通過創(chuàng)建新的HTML結(jié)構(gòu)來最小化文檔中心HTML和應(yīng)用程序需要的阻抗之間的不匹配。 AngularJS通過我們調(diào)用指令的構(gòu)造來教導(dǎo)瀏覽器的新語法。 示例包括:
- 數(shù)據(jù)綁定:{{}}
- DOM控制結(jié)構(gòu),用于重復(fù),顯示和隱藏DOM片段
- 支持表單和表單驗(yàn)證
- 將新行為附加到DOM元素,例如DOM事件處理
- 將HTML分組為可重用組件。
一個(gè)完整的客戶端解決方案
AngularJS不是構(gòu)建Web應(yīng)用程序的客戶端的整體謎題中的單一部分。它處理所有你曾經(jīng)用手寫的DOM和AJAX粘合代碼,并把它放在一個(gè)定義良好的結(jié)構(gòu)中。這使得AngularJS認(rèn)為應(yīng)該如何構(gòu)建一個(gè)CRUD(創(chuàng)建,讀取,更新,刪除)應(yīng)用程序。 但是,雖然它的意見,它也試圖確保其意見只是一個(gè)起點(diǎn),你可以輕易改變。 AngularJS提供了以下開箱即用的:
- 在一個(gè)連貫的集合中構(gòu)建一個(gè)CRUD應(yīng)用程序所需的一切:數(shù)據(jù)綁定,基本模板指令,表單驗(yàn)證,路由,深層鏈接,可重用組件和依賴注入
- 可測(cè)試性故事:?jiǎn)卧獪y(cè)試,端到端測(cè)試,模擬和測(cè)試線束
- 發(fā)布應(yīng)用程序以目錄布局和測(cè)試腳本為起點(diǎn)。
AngularJS的討巧之處
AngularJS通過向開發(fā)人員提供更高級(jí)別的抽象來簡(jiǎn)化應(yīng)用程序開發(fā)。像任何抽象一樣,它以靈活性為代價(jià)。換句話說,不是每個(gè)應(yīng)用程序都適合AngularJS。AngularJS是用CRUD應(yīng)用程序構(gòu)建的。幸運(yùn)的是,CRUD應(yīng)用程序代表了大多數(shù)Web應(yīng)用程序。 為了理AngularJS有什么好處,但它有助于理解什么時(shí)候一個(gè)應(yīng)用程序不是一個(gè)很好的適合AngularJS。
游戲和GUI編輯器是使用密集和棘手的DOM操作的應(yīng)用程序的例子。這些類型的應(yīng)用程序不同于CRUD應(yīng)用程序,因此可能不是一個(gè)很好適合AngularJS。在這些情況下,最好使用具有較低抽象級(jí)別的庫,例如jQuery。
AngularJS的禪
- 注冊(cè)回調(diào):注冊(cè)回調(diào)會(huì)雜亂你的代碼,使得很難看到樹的森林。 刪除常見的樣板代碼,如回調(diào)是一件好事。 它大大減少了你必須做的JavaScript編碼量,它使你更容易看到你的應(yīng)用程序做什么。
- 以編程方式操縱HTML DOM:操縱HTML DOM是AJAX應(yīng)用程序的基石,但它很繁瑣,容易出錯(cuò)。通過聲明性地描述在應(yīng)用程序狀態(tài)更改時(shí)UI應(yīng)該如何更改,您將從低級(jí)DOM操作任務(wù)中釋放出來。大多數(shù)使用AngularJS編寫的應(yīng)用程序從不需要以編程方式操作DOM,盡管如果你愿意的話。
- 與UI進(jìn)行數(shù)據(jù)封送:CRUD操作構(gòu)成了大多數(shù)AJAX應(yīng)用程序的任務(wù)。 從服務(wù)器到內(nèi)部對(duì)象到HTML表單的編組數(shù)據(jù)流,允許用戶修改表單,驗(yàn)證表單,顯示驗(yàn)證錯(cuò)誤,返回到內(nèi)部模型,然后返回到服務(wù)器,創(chuàng)建了很多模板文件代碼。 AngularJS消除了幾乎所有的這個(gè)樣板,留下描述應(yīng)用程序的整體流程的代碼,而不是所有的實(shí)現(xiàn)細(xì)節(jié)。
- 寫入大段的初始化代碼只是為了開始:通常你需要寫很多管道只是為了獲得一個(gè)基本的“Hello World”AJAX應(yīng)用程序工作。使用AngularJS,您可以使用服務(wù)輕松引導(dǎo)應(yīng)用程序,這些服務(wù)以類似Guice的依賴注入方式自動(dòng)注入到應(yīng)用程序中。這允許你快速開始開發(fā)功能。作為獎(jiǎng)勵(lì),你可以完全控制自動(dòng)化測(cè)試中的初始化過程。
以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
走進(jìn)AngularJs之過濾器(filter)詳解
本篇文章主要介紹了AngularJs之過濾器(filter)詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02angularjs中使用ng-bind-html和ng-include的實(shí)例
下面小編就為大家?guī)硪黄猘ngularjs中使用ng-bind-html和ng-include的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-04-04深入理解Angularjs中$http.post與$.post
本篇文章主要介紹了深入理解Angularjs中$http.post與$.post ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05淺談angular.js中實(shí)現(xiàn)雙向綁定的方法$watch $digest $apply
Angular用戶都想知道數(shù)據(jù)綁定是怎么實(shí)現(xiàn)的。你可能會(huì)看到各種各樣的詞匯:$watch,$apply,$digest它們是如何工作的呢?這里我想回答這些問題,其實(shí)它們?cè)诠俜降奈臋n里都已經(jīng)回答了,但是我還是想把它們結(jié)合在一起來講2015-10-10AngularJS $http模塊POST請(qǐng)求實(shí)現(xiàn)
本篇文章主要介紹了AngularJS $http模塊POST請(qǐng)求實(shí)現(xiàn),這里整理了詳細(xì)的代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04