Vuex中this.$store.commit()和this.$store.dispatch()区别是什么
发表于:2025-11-15 作者:千家信息网编辑
千家信息网最后更新 2025年11月15日,这篇文章主要讲解了"Vuex中this.$store.commit()和this.$store.dispatch()区别是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深
千家信息网最后更新 2025年11月15日Vuex中this.$store.commit()和this.$store.dispatch()区别是什么
这篇文章主要讲解了"Vuex中this.$store.commit()和this.$store.dispatch()区别是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"Vuex中this.$store.commit()和this.$store.dispatch()区别是什么"吧!
this.$store.commit()和this.$store.dispatch()的区别
两个方法其实很相似,关键在于一个是同步,一个是异步
commit: 同步操作
this.$store.commit('方法名',值) //存储this.$store.state.'方法名' //取值dispatch: 异步操作
this.$store.dispatch('方法名',值) //存储this.$store.getters.'方法名' //取值当操作行为中含有异步操作,比如向后台发送请求获取数据,就需要使用action的dispatch去完成了,其他使用commit即可.
其他了解
commit=>mutations, 用来触发同步操作的方法.dispatch=>actions, 用来触发异步操作的方法.
在store中注册了mutation和action
在组件中用dispatch调用action,用commit调用mutation
Vuex应用实例this.$store.commit()触发
新建文件夹store,store下
action.js
const actions = {}export default actions;getter.js
const getters = {}export default getters;mutation-types.js
export const publicSetEvent = 'publicSetEvent';
mutations.js
import {publicSetEvent} from './mutation-types';const mutations = { [publicSetEvent]: (state, json) => { // 初始化默认,避免跳转路由时的公用部分显示的相互影响 state.publicSet = {headTitle: true,headNav: false,sTitle: '头部标题'}// 是否显示头部title state.publicSet.headTitle = json.headTitle || state.publicSet.headTitle; // 是否显示头部tabbar切换 state.publicSet.headNav = json.headNav || state.publicSet.headNav; // 头部显示的标题文字 state.publicSet.sTitle = json.sTitle || state.publicSet.sTitle; // tabbar的标题文字及待办badge数字 state.publicSet.navList = json.navList || state.publicSet.navList; }}export default mutations;index.js
import Vue from 'vue'import Vuex from 'vuex'import mutations from './mutations';import getters from './getters';import actions from './actions';Vue.use(Vuex);const state = { publicSet: {//设置公共头 headTitle: true, headNav: false, sTitle: '头部标题' }}const store = new Vuex.Store({ state, getters, mutations, actions});export default store;头部公共组件components文件夹下
v-header.vue
v-title.vue
App.vue
main.js
import Vue from 'vue'import App from './App'import router from './router'import Vuex from 'vuex'import store from './store'Vue.use(Vuex)Vue.config.productionTip = falsenew Vue({ el: '#app', router, store, components: { App }, template: ' '})页面调用index.vue
运行进去index页面就可以看到公共头了
感谢各位的阅读,以上就是"Vuex中this.$store.commit()和this.$store.dispatch()区别是什么"的内容了,经过本文的学习后,相信大家对Vuex中this.$store.commit()和this.$store.dispatch()区别是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
方法
头部
标题
同步
学习
内容
文件
文件夹
文字
组件
页面
存储
相似
两个
中用
关键
后台
实例
就是
思路
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
t6账套在数据库中删除
河北数据网络技术标准
小型设计工作室服务器
联通最早的网络技术
开封网络技术服务
c软件开发学什么条件
加强网络安全工作的意见
在电脑上做网络安全ppt
自考计算机网络技术04
山西直销软件开发服
网络安全信息通报机制内容
中国服务器生产线
平时遇到的网络安全犯罪
m3 数据库
手机照片数据库保存
服务器5500k
软件开发tr1表示啥意思
有关青少年网络安全的事例
2019服务器管理
redis缓存数据库技术
温州海晨互联网科技有限公司
服务器安装的路由器怎么上网
领跑网络技术有限公司
深圳网络技术小鹅后端开发
数据库两个字段设置唯一索引
天互联网科技有限公司
新建数据库的命令2012
服务器管理口dhcp
lol长沙的服务器
东昱互联网科技公司