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