就是單頁面應用,頁面內容不隨用戶的行爲而變化,通常是經過路由的切換致使頁面內容發生改變!vue
主要有兩點: 數據驅動視圖、 組件化vuex
而後就是MVVM模式,區別於傳統的MVC模式數組
MVVM模式dom
M: model 模型數據層 主要負責數據哪一起ide
V: view 視圖UI層 主要負責UI交互哪一起函數
VM: Model_view 數據響應層,打通Model與view,是橋樑組件化
Vue生命週期post
beforeCreate 建立前 組件還未生成,屬性也未生效
created 建立後 組件初始化完成,屬性生效,真是dom還未生成
beforeMounte 掛載前 reader函數首次加載
mounted 掛載後 el 被新建立的 vm.$el 替換,並掛載到實例上去以後調用該鉤子
beforeUpdate 更新前 組件數據更新以前調用,發生在虛擬 DOM 打補丁以前
updated 更新後
beforeDestroy 銷燬前
destroyed 銷燬後this
VUE響應式插件
v-model 雙向綁定實現響應式(組件data 的數據一旦變化,馬上觸發視圖的更新)
Vue2.0對於響應式數據的實現有一些不足:
解決:
那麼Object.definePropert的缺點是:
一、深度監聽,須要一次性遞歸到底,一次性計算量大
二、新增和刪除屬性監聽不到,須要Vue.set() 和 Vue.delete()
三、沒法原生監聽數組,須要特殊處理
uex 是一個專爲 Vue.js 應用程序開發的狀態管理插件。它採用集中式存儲管理應用的全部組件的狀態,而更改狀態的惟一方法是提交mutation,例this.$store.commit('SET_VIDEO_PAUSE', video_pause
,SET_VIDEO_PAUSE
爲mutations屬性中定義的方法 。
Vuex解決了什麼問題?
解決兩個問題
參考文章:vuex其餘問題集合