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-form表單驗(yàn)證是否為空值的實(shí)例詳解
今天小編就為大家分享一篇vue-form表單驗(yàn)證是否為空值的實(shí)例詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10vue-i18n結(jié)合Element-ui的配置方法
這篇文章主要介紹了vue-i18n結(jié)合Element-ui的配置方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-05-05淺談vue中g(shù)et請求解決傳輸數(shù)據(jù)是數(shù)組格式的問題
這篇文章主要介紹了淺談vue中g(shù)et請求解決傳輸數(shù)據(jù)是數(shù)組格式的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-08-08Vue在H5 項(xiàng)目中使用融云進(jìn)行實(shí)時個人單聊通訊
這篇文章主要介紹了Vue在H5 項(xiàng)目中使用融云進(jìn)行實(shí)時個人單聊通訊,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-12-12Vue利用廣度優(yōu)先搜索實(shí)現(xiàn)watch
這篇文章主要為大家學(xué)習(xí)介紹了Vue如何利用廣度優(yōu)先搜索實(shí)現(xiàn)watch(有意思),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-08-08