Vuex使用及說明

2021-10-07 17:37:23 字數 3143 閱讀 9185

vuex 是乙個專為 vue.js 應用程式開發的狀態管理模式。

它採用集中式儲存管理應用的所有元件的狀態,並以相應的規則保證狀態以一種可**的方式發生變化。

(還不明白?通俗點說,就是全域性變數,每個元件都可以用到~並且可以隨時改變和計算等)

state	// 它是儲存全域性變數名(定義變數)

mutations // 它是處理同步,並修改 state 裡的資料

actions // 它是處理非同步,或者多個同步的區域,呼叫dispatch 執行mutations 函式改變state

getters // 它就像vue元件裡的computed 計算屬性,有的時候後台返回來的資料,並不是我們想要的資料,我們需要處理或者拼接後使用,多個元件使用的時候我們會用到。(注意:getter 在通過方法訪問時,每次都會去進行呼叫,而不會快取結果。)

modules // 這個是模組區分

import vue from

'vue'

import vuex from

'vuex'

// 引入vuex 拆分檔案

import state from

"./state/state"

;import mutations from

"./mutations/mutations"

;import actions from

"./actions/actions"

;import getters from

"./getters/getters"

;import modules from

"./modules/modules"

;vue.

use(vuex)

var storedata =

;/**

* 這裡主要解決了,頁面重新整理,資料丟失問題。

* 思路:頁面重新整理的時候將store裡state的值存到sessionstorage中,然後從sessionstorage中獲取,再賦值給store。

* 然後再把session裡面存的刪除即可,相當於中介軟體的作用。

*///在頁面載入時讀取sessionstorage裡的狀態資訊

if(sessionstorage.

getitem

("store"))

//在頁面重新整理時將vuex裡的資訊儲存到sessionstorage裡

window.

addeventlistener

("beforeunload",(

)=>);

export

default

newvuex.store

(storedata)

export

default

/**

* 1、引數說明

* @state 定義好的變數(要修改的變數名,通過.***來獲取)

* @value 傳遞過來的引數(要改變的值)

* 2、注意事項

* 不接受第3個引數,所以傳多個引數的時候,把第二個寫成物件傳入

* */

export

default

,// 修改登入狀態

setloginfn

(state, value)

}

/**

* 1、引數說明

* @store 是store物件,可以通過store.commit來呼叫mutations函式(簡潔化:可以通過{}來解構出來使用)

* @value 傳遞過來的引數(要改變的值)

* */

export

default

,that)

,2000)}

}

/**

* 1、引數說明

* @state 指定義好的變數(要修改的變數名,通過.***來獲取)

* @getters 可以呼叫所有getters方法

* */

export

default},

// 拼接名稱(以變數名稱來使用)

setsplicefn

(state, getters,

)}

/**

* 1、屬性說明

* @namespaced 設定為true 的時候,模組的就是私有區域,(因為vue 預設mutations,actions,getters 是全域性作用域)

* 2、注意事項

* 使用actions,想獲取全域性的mutations方法 引數上新增屬性 通過this['a/afn']()來獲取值 '/'來區分哪個模組

* 可以拿到全域性的state, 就是第3個引數rootstate

* (詳情說明,請參考:

* */

export

default},

b:}}

// 引入要展開的名稱

import

from

'vuex'

computed:

),// ...mapstate(

// }),

// 注意,getter 在通過方法訪問時,每次都會去進行呼叫,而不會快取結果。

...mapgetters([

'setsplicefn'

,'gettodobyid'])

,},// 方法使用

methods:

// 自定義外掛程式(跟state  同級)

// plugins: [

// (store)=>

// ]

store.

watch

((state)

=>,(

)=>

)store.

subscribe

((mutation,state)

=>

)store.

subscribeaction

((action, state)

=>

)

普通js檔案使用vuex的說明

vue元件的用法 mutations同步函式的用法 用法1 this.funcionname 用法2 this.sto re.c ommi t f unci onna me acti ons異 步函式的 用法用法 1 th is.f unci onna me 用法2 this store.commi...

vuex中mapGetters的使用及簡單實現原理

在vue專案的開發過程中必然會使用到vuex,對vue專案公用資料進行管理,從而解決元件之間資料相互通訊的問題,如果不使用vuex,那麼一些非父子元件之間的資料通訊將會變得極為繁瑣。1.這裡首先說下專案中mapgetters的使用先看下store部分目錄結構 index.js檔案 import vu...

vuex使用規則

下面利用webpack搭建平台。import vue from vue import vuex from vuex import index from index.vue vue.use vuex const store new vuex.store var root document.create...