一、什么是Vuex
用學過react的人來說:Vuex 之於 Vue 就像 Redux 之於 React,這邊附上一篇Vuex文檔地址http://vuex.vuejs.org/en/intro.html
Vuex是集中的應用程序架構為了Vue.js應用程序狀態管理。靈感來自Flux 和 Redux,但簡化的概念和實現是一個專門為 Vue.js
應用設計的狀態管理架構。
狀態管理: 簡單理解就是統一管理和維護各個vue組件的可變化狀態(你可以理解成 vue
組件里的某些 data
)
二、我們為什么需要Vuex
如果你的應用程序很簡單,你可能不需要Vuex。不要過早地應用它。但是如果你正在構建一個medium-to-large-scale SPA,那么你遇到的情況,讓你思考如何更好的結構Vue組件之外的事情。這是Vuex發揮作用的地方。
當單獨使用Vue.js,我們常常傾向於存儲狀態我們的組件內。也就是說,每個組件屬於我們的應用程序狀態,因此結果狀態亂扔的到處都是。然而,有時一塊狀態需要由多個組件共享。常見的做法是讓一個組件“發送”一些使用自定義事件系統其他組件。這種模式的問題是內部的事件流大組件樹很快就變得復雜,通常很難原因時出現錯誤。
更好地處理共享狀態在大型應用程序中,我們需要區分組件本地狀態和應用程序級狀態。應用程序狀態不屬於一個特定的組件,但我們的組件還可以觀察反應DOM更新。通過集中管理在一個地方,我們不再需要傳遞事件,因為一切影響多個組件應該屬於那里。此外,這讓我們記錄和檢查狀態變化的每一個突變更容易理解,甚至實現花哨的東西穿越調試。
Vuex也執行一些意見如何狀態管理邏輯分割成不同的地方,但仍然允許足夠的靈活性的實際代碼結構。
三、單向數據流
作用:減少數據傳遞,數據統一存放管理
四、callApi()
在action中使用,有五個參數分別是(ApiCode,parent,success,false,fail)
success,成功后回調,false更新數據
一般用前三個參數
五、1、store 2、action 3、Vuex 4、添加到store.js