vuex使用與解析

2021-10-11 04:44:16 字數 2239 閱讀 3764

官方解釋:vuex 是乙個專為 vue.js 應用程式開發的狀態管理模式。它採用集中式儲存管理應用的所有元件的狀態,並以相應的規則保證狀態以一種可**的方式發生變化。

個人理解:vuex就是用來進行元件之間進行資料交換的第三方 「倉庫」,元件可以把想要共享的資料存放在這裡面,別的元件想要的之後直接調取即可。

個人理解它就是通過全域性混入乙個物件,在該物件的 beforecreate 宣告週期函式中,對每乙個元件新增了乙個屬性 $store,值就是使用vuex時所建立的vuex例項。

let vue =

null

;// 用乙個全域性變數接收 vue.use() 傳過來的vue函式

function

install

(_vue)

elseif(

this

.$parent)}}

);}class

store})

;this

.state = vm.state;

// mutations 存放的是方法,且方法中的this是當前store例項

this

.mutations =

;let mutations = options.mutations ||

; object.

keys

(mutations)

.foreach

(mutation =>;}

);// actions 中存放的也是方法,與mutations不同的是,它裡面的函式接收的第乙個引數是當前 store 例項

this

.actions =

;let actions = options.actions ||

; object.

keys

(actions)

.foreach

(action =>;}

);// getters 儲存的也是函式,但是每個函式都要return 乙個值,而且這個值還是響應式的,這就需要用到資料劫持

this

.getters =

;let getters = options.getters ||

; object.

keys

(getters)

.foreach

(getter =>})

;});

}// 觸發 mutations 中的方法是通過 commit

commit

(type, param)

// 觸發 actions 中的方法是通過 dispatch

dispatch

(type, param)

}// 輔助函式: 不管是 mapstate 還是其他輔助函式,最後都是在響應的{}中通過展開運算子獲取其值,所以這些函式執行完之後應該是返回乙個物件

// 所有輔助函式只考慮傳的值是陣列的情況

export

function

mapstate

(ary)

;// obj每乙個屬性的值都是乙個函式,並且函式中返回的是 store.state的值

ary.

foreach

(item =>})

; console.

log(obj)

;return obj;};

export

function

mapgetters

(ary)

;// obj每乙個屬性的值都是乙個函式,並且函式中返回的是 store.state的值

ary.

foreach

(item =>})

;return obj;};

export

function

mapmutations

(ary)

; ary.

foreach

(item =>})

;return obj;};

export

function

mapactions

(ary)

; ary.

foreach

(item =>})

}export

default

!注意:這裡只是簡單實現vuex的一些基本功能,方便我自己理解vuex的功能和使用。

Vuex學習與使用

vuex 是乙個專為 vue.js 應用程式開發的狀態管理模式。它採用集中式儲存管理應用的所有元件的狀態,並以相應的規則保證狀態以一種可 的方式發生變化這是vuex的官網,對vuex的解釋,乍一看挺難理解的,什麼叫 狀態管理模式?什麼又是集中式儲存管理?官網的描述不明覺厲。首先我們就先來解釋這個定義...

Vuex語法解析

安裝vuex cnpm i d vuex 五種屬性用法 import vuex from vuex import vue from vue vue.use vuex export default new vuex.store mutations store.commit increment stor...

vuex的學習與使用

vue中有父子元件之間的通訊,但某些變數需要在全域性使用,那就用到了vuex,vuex 是乙個專為 vue.js 應用程式開發的狀態管理模式。建立乙個vue3專案,具體如下vue cli3的建立 記得在選配置的時候選上vuex 專案建立成功後,得到的專案目錄如下 其中的store.js就是用來設定v...