Vuex中this.$store.commit()和this.$store.dispatch()区别是什么
发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要讲解了"Vuex中this.$store.commit()和this.$store.dispatch()区别是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深
千家信息网最后更新 2025年02月02日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安全错误
数据库的锁怎样保障安全
数据库如何加密md5
数据库锁定类型
网络技术措施使用规定
佳尚网络技术服务
饥荒服务器1m带宽
网构软件开发平台
网络安全宣传视频文案
动萌网络技术有限公司
抚州主机服务器要多少钱
设有关系数据库中一个表s
ssr无法与服务器建立安全
csgo中显示禁止使用服务器
服务器域控安全策略
web网络安全工程师待遇
网络安全宣传公益创投
肇庆市新锐互联网科技公司
ice服务器再次被炸照片
德州服务器运维管理系统电话
服务器只开放80端口
软件开发项目中什么是链路
湖南网络安全审计硬件设备提供商
修改软件界面数据库
scum私人服务器商城
商丘市网络安全和信息化会议
数据库如何做网页视频
福州晶致网络技术
咸阳软件开发推荐
电力监控系统网络安全全员配备
软件开发怎样管理运营
大专计算机网络技术去征兵