當前位置:商標查詢大全網 - 培訓招生 - Vue註釋(Vuex全球狀態管理器)

Vue註釋(Vuex全球狀態管理器)

全局狀態管理器可以在項目的任何組件中獲得和修改,可以獲得全局響應的變量可以修改。

在vue-cli2項目中安裝vuex,並使用NPM安裝vuex-save。

安裝成功後,在src目錄下創建壹個新的store文件,並在其中創建壹個js文件。

在js文件中寫入:

然後將商店引入main.js文件,並在vue實例中註冊。

vuex的文件配置在這裏完成。

現在回到存儲文件中的參數。這些對象是vuex的五個核心:

狀態:全局可訪問的對象。

Getter:和vue的computed壹樣,用來實時監控狀態值(最新狀態)的變化。

突變:存儲改變狀態值的方法(同步)

動作:在突變中觸發方法(異步)

模塊:模塊

狀態是存儲在Vuex中的數據對象,就像Vue實例中的數據壹樣。只有狀態可以全局訪問。

定義stata對象,在state中直接定義key:val,可以定義任何數據類型。

用這個。$store.state獲取頁面中state的值。

在這裏,狀態通常安裝在計算的計算屬性上,這樣當狀態的值發生變化時,它可以及時做出響應。

當然也可以用手表來聽。

狀態中的輔助功能mapState

當壹個組件需要獲得多個狀態時,將所有這些狀態聲明為計算屬性會有些重復和多余。為了解決這個問題,我們可以使用mapState輔助函數來幫助我們生成計算屬性。

輸出

Vuex允許我們在存儲中定義getter(可以認為是存儲的計算屬性)。就像計算屬性computed壹樣,getter的返回值是根據其依賴關系進行緩存的,只有當其依賴關系值(state中的屬性)發生變化時才會重新計算。

Getter的作用是實時監控狀態值的變化。

定義Geters對象

使用state作為其第壹個參數。

您可以使用其他getter函數作為第二個參數。

在頁面中使用getters並使用這個。$store.getters

Getters中的輔助函數mapGetters

mapGetters輔助函數只是將存儲中的getter映射到本地計算屬性:

輸出

改變Vuex的商店中的狀態的唯壹方法是提交突變。

使用state作為第壹個參數。

用這個。$store.commit ('method name ')在突變中觸發方法。

輸出

第二個參數的官方解釋稱為提交的有效載荷。

您可以向store.commit傳遞壹個額外的參數,即變異的有效負載

簡單地說,您可以在第二個參數中傳遞附加參數。

這裏以姓名為例。

輸出

在Vuex中,突變必須是同步函數。

動作可以包含任何異步操作,動作的作用就是異步觸發突變。

定義壹個操作對象

接收上下文參數和要改變的參數。

Context與store實例具有相同的方法和屬性,因此它可以執行context.commit(" "),或者使用context.state和context.getters來獲取狀態和getters。

用這個。$store.dispatch("方法名")方法來執行操作。

輸出

類似地,Action也支持load方法,傳入第二個參數。

輸出

模塊的作用是把商店分成模塊,每個模塊都有自己的狀態、變異、動作、getter,甚至嵌套的子模塊——從上到下的劃分方式是壹樣的:

主要解決由於使用單個狀態樹,應用程序的所有狀態都會集中在壹個比較大的對象中的問題。當應用程序變得非常復雜時,store對象可能會變得非常臃腫。

簡單來說,vuex可以模塊化。