Vue 是一套用于建構使用者界面的漸進式開源JavaScript架構。與其它大型架構不同的是,Vue 被設計為可以自底向上逐層應用。Vue 的核心庫隻關注視圖層,友善與第三方庫或既有項目整合。另一方面,當與現代化的工具鍊以及各種支援類庫結合使用時,Vue 也完全能夠為複雜的單頁應用提供驅動。Vue.js 的目标是通過盡可能簡單的 API 實作響應的資料綁定群組合的視圖元件。
在21世紀初,當谷歌釋出了Google Map和GMail,兩個在浏覽器内運作的應用程式,浏覽器功能逐漸豐富,開發人員開始在Web平台上進行建構,而工程師則負責平台本身的浏覽器、Web标準、浏覽器API和JavaScript語言的開發。如jQuery和Mootools的重量級庫是最早基于JavaScript的開發的大型架構,改變了數百萬人編寫JavaScript的方式。在此基礎上,第一批主流的JavaScript架構,如Backbone,Ember,Knockout,和AngularJS 得以産生。而作為第二波JavaScript架構主要以React、Angular和Vue為主。其中Vue2.0釋出以來,Vue快速得到了國内開發者的熱捧。
Vue.js其核心思想是資料驅動群組件系統。資料驅動,也叫雙向資料綁定。 為了更好地管理一個大型應用程式,往往需要将其分割為小而獨立、具有複用性的元件。在Vue中,元件是基礎HTML元素的拓展,可友善地自定義其資料與行為。Vue.js資料觀測原理在技術實作上,利用ES5Object.defineProperty和存儲器屬性: getter和setter,稱為基于依賴收集的觀測機制。核心是VM,即ViewModel,保證資料和視圖的一緻性。Vue元件系統指的是将應用類UI看作全部是由元件樹構成。Vue.js同時具備異步批量DOM更新,動畫系統以及高可擴充性等特點。
資料來源:
Vue.js中文文檔