Vue
Vue是一個構(gòu)建數(shù)據(jù)驅(qū)動的 web 界面的漸進式框架。Vue.js 的目標是通過盡可能簡單的 API 實現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件。
Vue.js(讀音 /vju?/, 類似于view)是一套構(gòu)建用戶界面的漸進式框架。與其他重量級框架不同的是,Vue 采用自底向上增量開發(fā)的設(shè)計。Vue 的核心庫只關(guān)注視圖層,并且非常容易學(xué)習(xí),非常容易與其它庫或已有項目整合。另一方面,Vue 完全有能力驅(qū)動采用單文件組件和Vue生態(tài)系統(tǒng)支持的庫開發(fā)的復(fù)雜單頁應(yīng)用。
Vue.js 的目標是通過盡可能簡單的 API 實現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件[1]?。
Vue.js 自身不是一個全能框架--它只聚焦于視圖層。因此它非常容易學(xué)習(xí),非常容易與其它庫或已有項目整合。另一方面,在與相關(guān)工具和支持庫一起使用時,Vue.js 也能完美地驅(qū)動復(fù)雜的單頁應(yīng)用。
特點
易用
已經(jīng)會了HTML,CSS,JavaScript?即刻閱讀指南開始構(gòu)建應(yīng)用。
靈活
簡單小巧的核心,漸進式技術(shù)棧,足以應(yīng)付任何規(guī)模的應(yīng)用。
性能
20kb min+gzip 運行大小、超快虛擬 DOM 、最省心的優(yōu)化。
Vue 只關(guān)注視圖層, 采用自底向上增量開發(fā)的設(shè)計。
視圖層:
那么HTML中的DOM其實就是視圖,一個網(wǎng)頁就是通過DOM的組合與嵌套,形成了最基本的視圖結(jié)構(gòu),再通過CSS的修飾,在基本的視圖結(jié)構(gòu)上“化妝”讓他們看起來更加美觀。最后涉及到交互部分,就需要用到JavaScript來接受用戶的交互請求,并且通過事件機制來響應(yīng)用戶的交互操作,并且在事件的處理函數(shù)中進行各種數(shù)據(jù)的修改,比如說修改某個DOM中的innerHTML或者innerText部分。
我們把HTML中的DOM就可以與其他的部分獨立開來劃分出一個層次,這個層次就叫做視圖層。
MVVM
是Model-View-ViewModel 的縮寫,由 Model,View,ViewModel 三部分構(gòu)成,Model 層代表數(shù)據(jù)模型,也可以在Model中定義數(shù)據(jù)修改和操作的業(yè)務(wù)邏輯;View 代表UI 組件,它負責將數(shù)據(jù)模型轉(zhuǎn)化成UI 展現(xiàn)出來,ViewModel 是一個同步View 和 Model的對象。它是一種基于前端開發(fā)的架構(gòu)模式,其核心是提供對View 和 ViewModel 的雙向數(shù)據(jù)綁定,這使得ViewModel 的狀態(tài)改變可以自動傳遞給 View,即所謂的數(shù)據(jù)雙向綁定。

