一、概念
MVVM可以拆分成:View --- ViewModel --- Model三部分 ,看下面的視圖:

MVVM拆分3部分
eg:你在Model層中修改了name的值為:“李四”,那么View視圖層顯示的“張三”也會自動變成了“李四”,而這個過程就是有ViewModel來操作的,不需要你手動地去寫代碼去實現(xiàn)(你不用再手動操作DOM了)。
二、Vue.js的優(yōu)點(diǎn)
1.Vue.js更輕量更快
2.更容易上手,易學(xué)
三、Vue的核心
通過盡可能簡單的 API 實現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件;
Vue的數(shù)據(jù)驅(qū)動:數(shù)據(jù)改變驅(qū)動了視圖的自動更新,傳統(tǒng)的做法你得手動改變DOM來改變視圖,vuejs只需要改變數(shù)據(jù),就會自動改變視圖,一個字:爽。再也不用你去操心DOM的更新了,這就是MVVM思想的實現(xiàn)。
視圖組件化:把整一個網(wǎng)頁的拆分成一個個區(qū)塊,每個區(qū)塊我們可以看作成一個組件。網(wǎng)頁由多個組件拼接或者嵌套組成??聪聢D:

視圖組件化
四、適用場景
1.用jquery頻繁操作你的DOM來更新頁面;
2.有多個部分是相同的,并可以封裝成一個組件;
3.Vue.js的核心實現(xiàn)中使用了ES5的Object.defineProperty特性,IE8及以下版本瀏覽器是不兼容的;所以項目需要兼容這些較低版本的瀏覽器的話,那么,Vue.js就不適用了。