在以前開發的過程當中,對於項目中的狀態的一些保存,大部分都是 在window.localStorage、sessionStorage、或者cookie中保存。可是 兩這之間有區別的: vuex存儲在程序中的內存中,應用於組件之間的傳值(響應式),當刷新頁面時vuex中 存儲的值會丟失,vuex中將state當作全局存儲。當刷新頁面以後,會初始化state。 對於cookie 和 session 的區別: 參考文檔:https://www.cnblogs.com/pengc/p/8714475.html vuex的原理 - 狀態管理模式:state應用的數據源、view以聲明的方式將state映射到視圖上、 action響應在view上的用戶的輸入致使的變化。(參考官方文檔:https://vuex.vuejs.org/zh) vuex中當多個組件共享組件時,多個視圖依賴同一個狀態;來自不一樣視圖的行爲須要變動同 一個狀態。所以把組件共享的狀態提取出來,以一個全局單例模式管理。 vuex的核心就是store(倉庫),包含應用中大部分的狀態,與全局對象的有兩點不一樣: 一、vuex的狀態時響應式的。當vue組件從store中讀取狀態時,若是store中的 狀態發生變化,那麼相應的組件也會更新。 二、改變store中狀態的惟一方法就是顯式的提交(commit)mutation。這樣咱們可 以方便跟蹤每個狀態的變化。 基本概念: state:用一個對象包含全部的應用層級狀態,也就是把全部須要用到的狀態在這裏先聲明一下。 在組件中展現state的狀態。因爲vuex的狀態存儲是響應式的,從store實例中讀取狀態量, 最簡單的方法是在"計算屬性中"返回某個狀態:
下面給出在vuex中模塊化使用的方法:html
在src目錄結構下新建store狀態文件,裏面包含store.js(包含多個store模塊,登陸模塊、網路請求模塊)、
types.js(使用常量做爲函數名,方便之後維護)。
下面看看store.js中對登陸模塊的封裝:vue