Angular是什么 ?

AngularJS是一款針對(duì)動(dòng)態(tài)web應(yīng)用的結(jié)構(gòu)框架. 它可以讓像使用模板語(yǔ)言使用HTML, 并且可以擴(kuò)展HTML的語(yǔ)法來(lái)明確簡(jiǎn)潔的表示應(yīng)用組件. Angular的數(shù)據(jù)綁定機(jī)制和依賴注入機(jī)制排除了許多原本你不得不寫的代碼. 它作用于瀏覽端, 使得它成為任何服務(wù)端技術(shù)的良好伙伴.

Angular是為了彌補(bǔ)HTML在構(gòu)建應(yīng)用上的不足而設(shè)計(jì)的. 對(duì)于靜態(tài)文檔來(lái)說(shuō), HTML是很不錯(cuò)的聲明式語(yǔ)言, 但是要構(gòu)建web應(yīng)用, 它卻有些乏力. 所以我不得不做一些工作來(lái)讓瀏覽器做我想要的事.

通常, 我們通過(guò)以下方式解決動(dòng)態(tài)應(yīng)用與靜態(tài)網(wǎng)頁(yè)之前的不匹配:

  • 庫(kù) --- 一個(gè)函數(shù)集合, 我們用它來(lái)編寫我們的web應(yīng)用. 我們自己編碼作為主體, 然后我們?cè)诤线m的時(shí)機(jī)調(diào)用庫(kù), 例如jQuery.

  • 框架 --- web應(yīng)用的一種特定實(shí)現(xiàn), 我們可以在它上面編碼實(shí)現(xiàn)具體的邏輯. 在這里, 框架起主導(dǎo)作用, 它可以在應(yīng)用的具體邏輯中調(diào)用你的代碼, 例如: durandal, ember等.

Angular采用了另一種方式. 它試圖通過(guò)創(chuàng)建新的HTML結(jié)構(gòu)來(lái)彌補(bǔ)HMTL在構(gòu)建應(yīng)用上的不足. Angular通過(guò)我們稱之為指令的結(jié)構(gòu), 使瀏覽器可以解析新的語(yǔ)法. 包括: