Angular是什么 ?
AngularJS是一款針對(duì)動(dòng)態(tài)web應(yīng)用的結(jié)構(gòu)框架. 它可以讓像使用模板語言使用HTML, 并且可以擴(kuò)展HTML的語法來明確簡潔的表示應(yīng)用組件. Angular的數(shù)據(jù)綁定機(jī)制和依賴注入機(jī)制排除了許多原本你不得不寫的代碼. 它作用于瀏覽端, 使得它成為任何服務(wù)端技術(shù)的良好伙伴.
Angular是為了彌補(bǔ)HTML在構(gòu)建應(yīng)用上的不足而設(shè)計(jì)的. 對(duì)于靜態(tài)文檔來說, HTML是很不錯(cuò)的聲明式語言, 但是要構(gòu)建web應(yīng)用, 它卻有些乏力. 所以我不得不做一些工作來讓瀏覽器做我想要的事.
通常, 我們通過以下方式解決動(dòng)態(tài)應(yīng)用與靜態(tài)網(wǎng)頁之前的不匹配:
庫 --- 一個(gè)函數(shù)集合, 我們用它來編寫我們的web應(yīng)用. 我們自己編碼作為主體, 然后我們?cè)诤线m的時(shí)機(jī)調(diào)用庫, 例如jQuery.
框架 --- web應(yīng)用的一種特定實(shí)現(xiàn), 我們可以在它上面編碼實(shí)現(xiàn)具體的邏輯. 在這里, 框架起主導(dǎo)作用, 它可以在應(yīng)用的具體邏輯中調(diào)用你的代碼, 例如: durandal, ember等.
Angular采用了另一種方式. 它試圖通過創(chuàng)建新的HTML結(jié)構(gòu)來彌補(bǔ)HMTL在構(gòu)建應(yīng)用上的不足. Angular通過我們稱之為指令的結(jié)構(gòu), 使瀏覽器可以解析新的語法. 包括:
通過
{{}}
通過數(shù)據(jù)綁定通過DOM控制結(jié)構(gòu)實(shí)現(xiàn)迭代或隱藏DOM片段
支持表單和表單驗(yàn)證
能將代碼關(guān)聯(lián)到DOM元素上
將HTML組成為可重用的組件