首页 > 其他分享 >VUEX 使用学习四 : action

VUEX 使用学习四 : action

时间:2023-02-21 11:07:26浏览次数:54  
标签:异步 触发 mutations addAsync 学习 action VUEX store

转载请注明出处:

  action 用于处理异步任务;action,可以操作任意的异步操作,类似于​mutations​,但是是替代​mutations​来进行异步操作的。首先​mutations​中必须是同步方法,如果使用了异步,虽然页面上的内容改变了,但实际上​Vuex.Store​没有监听到数据的更新

  如果通过异步操作变更数据,必须通过Action,而不能使用Mutation,但是在Action中还是要通过触发 Mutation的方式间接变更数据。

1. this.$store.dispatch 是触发actions的第一 种方式

//定义store.js 中定义action
actions: {
addAsync(context) {
setTimeout(()=> {
context.commit('add')
},1000)
}
}


//在事件方法中通过dispatch触发action
add () {
// 触发action
this.$store.dispatch('addAsync')
}

  触发异步任务携带参数

mutations: {
add(state,step) {
state.count += step
}
},
actions: {
addAsync(context,step) {
setTimeout(()=> {
context.commit('add',step)
},1000)
}
}
//触发action
add () {
this.$store.dispatch('addAsync',5)
}

2.触发actions的第二 种方式

  1.从vuex中按需求导入mapState函数

import {maptActions} from 'vuex'

  2. 将指定的mutations函数,映射为当前组件的methods函数

methods:{ ...maptActions(['addAsync']) }

 

  在网上找到一个demo 示例,可参考学习: https://gitee.com/xiangbaxiang/vue-store

 



标签:异步,触发,mutations,addAsync,学习,action,VUEX,store
From: https://blog.51cto.com/u_15535797/6076070

相关文章

  • VUEX 的使用学习二: state
    转载请注明出处:state提供唯一的数据资源,所有的共享的数据都要统一放到store中的state中进行存储;状态state用于存储所有组件的数据。管理数据//初始化vuex对象c......
  • 软件工程个人学习心得
    Java应该是目前为止在软件开发领域使用最广的一种语言,学计算机的人员也始终绕不开Java。Java语言区别于其他语言的地方是,Java是在虚拟机上运行的,所以与平台无关,一串相......
  • 大一与大二软件工程专业学习心得与体会
    回顾即将两年的计算机专业大学生活,各种经历使我受益良多。在大一上半学期,我进行了c语言的学习。从老师的口中我得知,c语言是语言类中的基础,是我们成为一名成熟的程序员的第......
  • 在Javassist学习时遇到的javassist.NotFoundException问题的解决办法
    在Javassist学习时遇到的javassist.NotFoundException问题的解决办法//运行时会报错的原代码:ClassPoolpool=ClassPool.getDefault();CtClasscc=pool.get(Emp.clas......
  • 决战圣地玛丽乔亚Day16 --- 算法两道+ 独占锁/共享锁学习
    算法部分:复习一下二叉树的题目:简单的前中后序遍历:解二叉树的题目的逻辑:1.确定入参和返参2.确定终止条件3.确认每层的逻辑例如简单的后续遍历。  后续遍历是左右中......
  • c++学习
      c++字符串转化为整数浮点数。   string和char直接转换============31m代表字体为红色,0m代表关闭所有属性。常用的ANSI控制码如下(有些不支持):\033[0m关闭所......
  • python+playwright 学习-1.环境准备与快速开始
    前言说到web自动化,大家最熟悉的就是selenium了,selenium之后又出现了三个强势的框架Puppeteer、CyPress、TestCafe,但这3个都需要掌握JavaScript语言,所以只是少部分......
  • 2022.2.20学习总结
    今天老师花了三节课多,也算得上是给我们打了一针鸡血,也明确的指明了我们下个阶段的学习目标,我是一个十分清楚自己想要得到什么,当下该做一些什么的人,我也找到了我下一个阶段......
  • jdbc学习笔记
    JDBC尚硅谷https://www.bilibili.com/video/BV1sK411B71e?share_source=copy_web概述JDBC是连接Java和数据库的必要纽带MyBatis、HIBERNATE等都是封装了JDBC的应......
  • 今日学习总结-01
    今天创建了软件工程日报分类,从今天开始,每天写一篇博客,记录自己每天的学习历程。今天是第二周的周一,下午王老师为我们上了这半学期第二节软工课。在这节课上,王老师用很长......