Vue.js 和 AngularJS 是常用的兩個(gè)前端JavaScript框架。那么兩個(gè)框架到底有什么不同呢?這篇文章 w3cschool 小編就來(lái)為大家介紹下 Vue.js 和 AngularJS 的區(qū)別。
Vue.js 和 AngularJS 是什么?
Vue.js 是一套響應(yīng)式 JavaScript 開發(fā)庫(kù)。它采用自底向上增量開發(fā)的設(shè)計(jì),核心庫(kù)只關(guān)注圖層,非常容易與其他庫(kù)和項(xiàng)目整合。而且Vue.js 完全有能力驅(qū)動(dòng)采用單文件組件和 Vue.js 生態(tài)系統(tǒng)支持的庫(kù)開發(fā)的復(fù)雜單頁(yè)應(yīng)用。
AngularJS 是一個(gè) JavaScript 框架。起初是為了解決 HTML 在構(gòu)建應(yīng)用上的不足而被設(shè)計(jì)出來(lái)的。它可通過(guò) ?<script>
? 標(biāo)簽添加到 HTML 頁(yè)面,通過(guò)指令擴(kuò)展了 HTML,并且通過(guò)表達(dá)式綁定數(shù)據(jù)到 HTML。AngularJS 有著諸多特性,最為核心的是:MVC、模塊化、自動(dòng)化雙向數(shù)據(jù)綁定、語(yǔ)義化標(biāo)簽、依賴注入等等?,F(xiàn)如今 AngularJS 已經(jīng)被用于 Google 的多款產(chǎn)品當(dāng)中。
Vue.js 和 AngularJS 的區(qū)別:
相同點(diǎn):
- 兩者都不支持低版本瀏覽器
- 兩者都支持雙向數(shù)據(jù)綁定
- 兩者都支持指令:自定義指令和內(nèi)置指令
- 兩者都支持過(guò)濾器:自定義過(guò)濾器和內(nèi)置過(guò)濾器
不同點(diǎn):
- AngularJS 強(qiáng)約束導(dǎo)致學(xué)習(xí)成本較高,比如增加了 Dependency Injection 特性,對(duì)前端不友好。而 Vue.js 本身提供的 API 都比較簡(jiǎn)單易學(xué)。
- AngularJS 不利于 SEO,因?yàn)樗袃?nèi)容都是動(dòng)態(tài)獲取并渲染生成的,搜索引擎沒(méi)法爬取。
- AngularJS 作為 MVVM 框架,因?yàn)閷?shí)現(xiàn)了數(shù)據(jù)的雙向綁定,對(duì)于大數(shù)組、復(fù)雜對(duì)象會(huì)存在性能問(wèn)題。而 Vue.js 使用基于依賴追蹤的觀察并且使用異步隊(duì)列更新,所有數(shù)據(jù)都是獨(dú)立觸發(fā),故反應(yīng)速度較快。