位置: IT常识 - 正文

vuex中this.$store.commit和this.$store.dispatch的用法

编辑:rootadmin
vuex中this.$store.commit和this.$store.dispatch的用法 前言

推荐整理分享vuex中this.$store.commit和this.$store.dispatch的用法,希望有所帮助,仅作参考,欢迎阅读内容。

vuex中this.$store.commit和this.$store.dispatch的用法

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

this.store.dispatch()与this.store.dispatch() 与 this.store.dispatch()与this.store.commit()方法的区别总的来说他们只是存取方式的不同,两个方法都是传值给vuex的mutation改变state

区别this.$store.commit() 同步操作this.$store.commit('方法名',值)【存储】this.$store.state.方法名【取值】this.$store.dispatch() 异步操作this.$store.dispatch('方法名',值)【存储】this.$store.getters.方法名【取值】

当操作行为中含有异步操作: 比如向后台发送请求获取数据,就需要使用action的dispatch去完成了。 其他使用commit即可。

commit => mutations,用来触发同步操作的方法。 dispatch =>actions,用来触发异步操作的方法。 在store中注册了mutation和action,在组件中用dispatch调用action,然后action用commit调用mutation。

实战this.$store.commit()import Vue from "vue";import Vuex from "vuex";Vue.use(Vuex);export const store = new Vuex.Store({ // state专门用来保存 共享的状态值 state: { // 保存登录状态 login: false }, // mutations: 专门书写方法,用来更新 state 中的值 mutations: { // 登录 doLogin(state) { state.login = true; }, // 退出 doLogout(state) { state.login = false; } }});<script>// 使用vux的 mapState需要引入import { mapState } from "vuex";export default { // 官方推荐: 给组件起个名字, 便于报错时的提示 name: "Header", // 引入vuex 的 store 中的state值, 必须在计算属性中书写! computed: { // mapState辅助函数, 可以快速引入store中的值 // 此处的login代表, store文件中的 state 中的 login, 登录状态 ...mapState(["login"]) }, methods: { logout() { this.$store.commit("doLogout"); } }};</script><script>export default { name: "Login", data() { return { uname: "", upwd: "" }; }, methods: { doLogin() { console.log(this.uname, this.upwd); let data={ uname:this.uname, upwd:this.upwd } this.axios .post("user_login.php", data) .then(res => { console.log(res); let code = res.data.code; if (code == 1) { alert("恭喜您, 登录成功! 即将跳转到首页"); // 路由跳转指定页面 this.$router.push({ path: "/" }); //更新 vuex 的 state的值, 必须通过 mutations 提供的方法才可以 // 通过 commit('方法名') 就可以出发 mutations 中的指定方法 this.$store.commit("doLogin"); } else { alert("很遗憾, 登陆失败!"); } }) .catch(err => { console.error(err); }); } }};</script>this.$store.dispatch()toggleSideBar() { this.$store.dispatch('app/toggleSideBar') }, async logout() { await this.$store.dispatch('user/logout') this.$router.push(`/login?redirect=${this.$route.fullPath}`) }const mutations = { SET_TOKEN: (state, token) => { state.token = token }, SET_INTRODUCTION: (state, introduction) => { state.introduction = introduction }, SET_NAME: (state, name) => { state.name = name }, SET_AVATAR: (state, avatar) => { state.avatar = avatar }, SET_ROLES: (state, roles) => { state.roles = roles }}const actions = { // user login login({ commit }, userInfo){ const { username, password,useraccount} = userInfo; return new Promise((resolve, reject) => { login(({userName:username,userAccount:useraccount,userPassword:password})).then(response=>{ const data=response; commit('SET_TOKEN', 1) setToken(null) commit('SET_ROLES', 1) commit('SET_NAME', 1) commit('SET_AVATAR', 1) commit('SET_INTRODUCTION', 1) resolve() }).catch(error => { reject(error) // debugger; // $Message("密码或账号不对") }) }).catch(error => { reject(error) }) }}
本文链接地址:https://www.jiuchutong.com/zhishi/295960.html 转载请保留说明!

上一篇:在vue3+ts项目里使用query和params传参(vue3加ts)

下一篇:Vue项目保持用户登录状态(localStorage + vuex 刷新页面后状态依然保持)(vuex存储用户信息)

  • 手机最多10分钟锁定怎么修改(手机最多10分钟耗电多少)

    手机最多10分钟锁定怎么修改(手机最多10分钟耗电多少)

  • 支付宝里程兑换在哪里(支付宝里程兑换的礼品物流)

    支付宝里程兑换在哪里(支付宝里程兑换的礼品物流)

  • 钉钉安装抽取无法写入文件(钉钉安装抽取无效怎么办)

    钉钉安装抽取无法写入文件(钉钉安装抽取无效怎么办)

  • 怎么从微信上找到电话号码(怎么从微信上找到群聊)

    怎么从微信上找到电话号码(怎么从微信上找到群聊)

  • 淘宝自动交话费怎么取消(淘宝里面自动充值话费)

    淘宝自动交话费怎么取消(淘宝里面自动充值话费)

  • 淘宝评价管理的周月什么时候更新(淘宝评价管理的已处理评价是什么意思)

    淘宝评价管理的周月什么时候更新(淘宝评价管理的已处理评价是什么意思)

  • 浙江华为和华为一样吗(浙江华为和华为的待遇对比)

    浙江华为和华为一样吗(浙江华为和华为的待遇对比)

  • 华为手机克隆微信聊天记录还在吗(华为手机克隆微信聊天记录都找不到了)

    华为手机克隆微信聊天记录还在吗(华为手机克隆微信聊天记录都找不到了)

  • pafm00是什么手机型号(pfgm00什么牌子手机)

    pafm00是什么手机型号(pfgm00什么牌子手机)

  • 华为微信小视频打不开(华为微信小视频模糊不清怎么办)

    华为微信小视频打不开(华为微信小视频模糊不清怎么办)

  • 回收站的照片删除了怎么恢复(回收站的照片删除了还能恢复吗电脑)

    回收站的照片删除了怎么恢复(回收站的照片删除了还能恢复吗电脑)

  • 华为mate30pro微信不显示内容(华为mate30pro微信美颜功能设置)

    华为mate30pro微信不显示内容(华为mate30pro微信美颜功能设置)

  • 苹果蓝牙耳机充电盒灯不亮(苹果蓝牙耳机充电指示灯)

    苹果蓝牙耳机充电盒灯不亮(苹果蓝牙耳机充电指示灯)

  • excel的图表向导在哪(excel里面的图表向导在哪里)

    excel的图表向导在哪(excel里面的图表向导在哪里)

  • 京东可以添加好友聊天吗(京东添加好友之后无法聊天)

    京东可以添加好友聊天吗(京东添加好友之后无法聊天)

  • 饿了么点餐可以开票吗(饿了么点餐可以到店吃么)

    饿了么点餐可以开票吗(饿了么点餐可以到店吃么)

  • vivox27怎么设置下拉菜单(vivox27怎么设置屏幕常亮)

    vivox27怎么设置下拉菜单(vivox27怎么设置屏幕常亮)

  • 魅蓝note5换电池教程(魅蓝note5换电池后密码不对了)

    魅蓝note5换电池教程(魅蓝note5换电池后密码不对了)

  • airpods质保多久(airpods 质保)

    airpods质保多久(airpods 质保)

  • 华硕和戴尔哪个耐用(华硕还是戴尔)

    华硕和戴尔哪个耐用(华硕还是戴尔)

  • 手机QQ的兴趣部落如何关闭提示(手机qq兴趣部落在哪里打开)

    手机QQ的兴趣部落如何关闭提示(手机qq兴趣部落在哪里打开)

  • 【HTML】HTML网页设计----动漫网站设计(html的网址)

    【HTML】HTML网页设计----动漫网站设计(html的网址)

  • whereis命令  显示命令及相关文件的路径位置(windows where命令)

    whereis命令 显示命令及相关文件的路径位置(windows where命令)

  • 帝国cms怎么调用网络视频播放地址(帝国cms如何使用)

    帝国cms怎么调用网络视频播放地址(帝国cms如何使用)

  • 公共电话亭是否应该被拆除
  • 支付与其他经营活动有关的现金公式
  • 发票已经报送怎么处理
  • 建筑企业成本核算工作流程
  • 反写了可以重新申报吗
  • 残保基金的计算公式
  • 车间报销办公费计入什么科目
  • 股息和资本利得的区别
  • 工地用材料如何分类
  • 跨月销项负数发票怎么做账
  • 哪家银行存款利率高2023
  • 同一控制吸收合并会计处理
  • 支付员工出差住宿费
  • 银行利息收入确认时间会计与税法的差异
  • 增值税电子发票怎么作废
  • 增值税普通发票税率
  • 电子发票怎么缩小比例
  • 高新技术企业怎么申报企业所得税
  • 汇总纳税总机构企业所得税分摊比例备案
  • 转回给挂靠单位的钱怎么做分录
  • 从对公账户转账到个人账号需要多久?
  • windowsmodulesinstaller占用cpu
  • 银行承兑汇票有纸质的吗
  • 劳务报酬计入综合所得吗
  • 缴纳的权利许可有哪些
  • PHP:oci_lob_is_equal()的用法_Oracle函数
  • 拍卖费怎么收
  • 企业办理银行结汇流程
  • erl.exe是什么进程
  • 长期借款的概念
  • php的ajax
  • thinkphp接收ajax数据
  • 作用域和作用域链的理解
  • php+web
  • 关于申请补发工资的申请
  • 专票减免政策
  • 利润表三步法
  • 契税属于哪种说法
  • 专用发票超过360天未认证
  • 对公付款对方不开发票可以吗
  • 外贸企业应交税费计入
  • 实收资本报表怎么填
  • 企业增资相关知识点
  • 个人所得税如何缴纳
  • 代垫费用开什么发票
  • 医院药品进销差价会计核算
  • 不签订购销合同的后果
  • 税前扣除的职工福利费支出怎么算
  • 加工废料如何处理
  • 承租人和共同承租人
  • 财务会计属于什么职位类别
  • sql分页查询怎么实现
  • centos7gcc编译器
  • win7删除系统文件
  • macbookair触控板维修
  • window10运行框
  • mac硬盘的常见问题及解决
  • linux updatedb
  • qconsvc.exe - qconsvc是什么进程 有什么作用
  • nipc什么意思
  • linux awk nr
  • linux修改22端口号
  • win8系统关机键找不见
  • cocos creator 资源加密
  • unity控制
  • 微信小程序顶部导航栏怎么做
  • javascript数据结构
  • 根据当前目录下的文件
  • jquery移动端ui框架
  • nodejs如何运行html
  • shell脚本编写 方法
  • js复制div
  • python parser解析
  • python电话本
  • 福建省国税局电话号码
  • 四川国税网上申报大厅
  • 跨县调动工作流程
  • 如何查到银行
  • 出版社税费多少
  • 河南省纳税服务平台
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设