簡述MVVM
MVVM是Model-View-ViewModel的縮寫。MVVM是一種設(shè)計思想玩徊。Model 層代表數(shù)據(jù)模型租悄,也可以在Model中定義數(shù)據(jù)修改和操作的業(yè)務(wù)邏輯;View 代表UI 組件恩袱,它負責將數(shù)據(jù)模型轉(zhuǎn)化成UI 展現(xiàn)出來恰矩,ViewModel 是一個同步View 和 Model的對象。
在MVVM架構(gòu)下憎蛤,View 和 Model 之間并沒有直接的聯(lián)系外傅,而是通過ViewModel進行交互,Model 和 ViewModel 之間的交互是雙向的俩檬, 因此View 數(shù)據(jù)的變化會同步到Model中萎胰,而Model 數(shù)據(jù)的變化也會立即反應(yīng)到View 上。
ViewModel 通過雙向數(shù)據(jù)綁定把 View 層和 Model 層連接了起來棚辽,而View 和 Model 之間的同步工作完全是自動的技竟,無需人為干涉,因此開發(fā)者只需關(guān)注業(yè)務(wù)邏輯屈藐,不需要手動操作DOM, 不需要關(guān)注數(shù)據(jù)狀態(tài)的同步問題榔组,復雜的數(shù)據(jù)狀態(tài)維護完全由 MVVM 來統(tǒng)一管理。
Vue.js的優(yōu)點
低耦合联逻。視圖(View)可以獨立于Model變化和修改搓扯,一個ViewModel可以綁定到不同的"View"上,當View變化的時候Model可以不變包归,當Model變化的時候View也可以不變锨推。
可重用性。你可以把一些視圖邏輯放在一個ViewModel里面公壤,讓很多view重用這段視圖邏輯换可。
獨立開發(fā)。開發(fā)人員可以專注于業(yè)務(wù)邏輯和數(shù)據(jù)的開發(fā)(ViewModel)厦幅,設(shè)計人員可以專注于頁面設(shè)計沾鳄。
可測試。界面素來是比較難于測試的确憨,而現(xiàn)在測試可以針對ViewModel來寫
語法糖
語法糖是指在不影響功能的情況下 译荞, 添加某種簡潔方法實現(xiàn)同樣的效果 套媚, 從而更加方便程
序開發(fā)。(v-on? => @ 磁椒, v-bind? =>? :)
入門官方文檔? ? ? https://cn.vuejs.org/v2/guide/installation.html