MVVM
基本概念:MVVM架構下,View和Model不能直接通信斋枢,利用ViewModel進行通訊温自。
當用戶操作視圖玄货,ViewModel同時進行監(jiān)聽,然后通知數(shù)據(jù)進行改動悼泌。如此即可實現(xiàn)數(shù)據(jù)的雙向綁定松捉。
應用場景:針對具有復雜交互邏輯的前端應用,提供基礎的構架抽象馆里,可通過Ajax數(shù)據(jù)持久化隘世,保證前端給用戶一個優(yōu)良體驗可柿。好處是,當前端進行數(shù)據(jù)操作時丙者,可通過Ajax請求對后端做數(shù)據(jù)持久化复斥。不需要改變頁面,只需要改變DOM里械媒,需要改動的那部分數(shù)據(jù)目锭。特別是移動端應用場景,刷新頁面場景的代價太昂貴纷捞,會重新加載很多資源痢虹。雖然之前會緩存了一些資源。但是頁面的DOM主儡、JS奖唯、CSS都會被瀏覽器重新解析一遍。因此移動端頁面通常會做成SPA單頁應用糜值,在此基礎上誕生了很多MVVM框架丰捷,如:Angular.js/react.js/vue.js。
Vue.js
核心思想:數(shù)據(jù)驅(qū)動 和 組件化
是一個輕量級MVVM框架寂汇,體積小病往。
是一個數(shù)據(jù)驅(qū)動+組件化的前端開發(fā)。
相對于Angular健无、React荣恐,更輕量液斜,更易上手累贤,學習曲線平穩(wěn)。吸收兩家之長少漆,借鑒了angular的指令和react的組件化
組件設計原則
頁面上臼膏,每個獨立的可視/可交互的區(qū)域,均可視為一個組件示损。
每個組件對應一個工程目錄渗磅,組件所需要的各種資源在這個目錄下就近維護。
頁面是組件的容器检访,組件可以嵌套始鱼,自由組合形成完整頁面
Vue-cli
是Vue的編程腳手架,幫助編寫Vue.js基礎代碼的工具脆贵。
它是一個Node包医清,需要執(zhí)行npm命令進行安裝。
Node.js
也叫Node卖氨,但是這個詞用途過廣会烙,為了進行區(qū)分负懦,通常采用Node.js這個名字。
它是JS的一個后端運行環(huán)境柏腻,