vuex直接修改state、commit和dispatch修改state的用法及區(qū)別說明
vuex直接修改state、commit和dispatch修改state的區(qū)別
1)可以直接使用 this.$store.state.變量 = xxx;
2)通過commit修改state
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
name:''
},
mutations: {//類似method
SET_NAME(state, name) {
state.name = name;
}
}使用:commit提交觸發(fā)mutations里方法
this.$store.commit("SET_NAME", 'xlt');3)通過dispatch修改state
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
export default new Vuex.Store({
state: {
name:''
},
mutations: {//類似method
SET_NAME(state, name) {
state.name = name;
}
},
actions: {//類似method
set_name({ commit }, name) {
commit('SET_NAME', name)
}
}使用:dispatch提交觸發(fā)actions里方法
this.$store.dispatch("set_name", 'xlt');區(qū)別
- commit方式是同步操作
- dispatch方式是異步操作
總結(jié)
都可以修改state里的變量,并且是響應(yīng)式的(能觸發(fā)視圖更新)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Vue.extend和VueComponent的關(guān)系源碼解析
這篇文章主要為大家詳解了Vue.extend和VueComponent的關(guān)系源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
Nuxt3動態(tài)導(dǎo)入圖片(本地)src實(shí)現(xiàn)過程
這篇文章主要介紹了Nuxt3動態(tài)導(dǎo)入圖片(本地)src實(shí)現(xiàn)過程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2026-03-03
vue實(shí)現(xiàn)兄弟組件之間跳轉(zhuǎn)指定tab標(biāo)簽頁
這篇文章主要介紹了vue實(shí)現(xiàn)兄弟組件之間跳轉(zhuǎn)指定tab標(biāo)簽頁,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05
Vue實(shí)現(xiàn)側(cè)邊導(dǎo)航欄于Tab頁關(guān)聯(lián)的示例代碼
本文主要介紹了Vue實(shí)現(xiàn)側(cè)邊導(dǎo)航欄于Tab頁關(guān)聯(lián)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-11-11
vue實(shí)現(xiàn)給div綁定keyup的enter事件
這篇文章主要介紹了vue實(shí)現(xiàn)給div綁定keyup的enter事件,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07

