Vue2向Vue3过度Vuex核心概念actions

目录


1 核心概念 - actions

state是存放数据的,mutations是同步更新数据 (便于监测数据的变化, 更新视图等, 方便于调试工具查看变化),

actions则负责进行异步操作

说明:mutations必须是同步的

需求: 一秒钟之后, 要给一个数 去修改state

1.定义actions

js 复制代码
mutations: {
  changeCount (state, newCount) {
    state.count = newCount
  }
}


actions: {
  setAsyncCount (context, num) {
    // 一秒后, 给一个数, 去修改 num
    setTimeout(() => {
      context.commit('changeCount', num)
    }, 1000)
  }
},

2.组件中通过dispatch调用

js 复制代码
setAsyncCount () {
  this.$store.dispatch('setAsyncCount', 666)
}

2 辅助函数 -mapActions

1.目标:掌握辅助函数 mapActions,映射方法

mapActions 是把位于 actions中的方法提取了出来,映射到组件methods中

Son2.vue

js 复制代码
import { mapActions } from 'vuex'
methods: {
   ...mapActions(['changeCountAction'])
}

//mapActions映射的代码 本质上是以下代码的写法
//methods: {
//  changeCountAction (n) {
//    this.$store.dispatch('changeCountAction', n)
//  },
//}

直接通过 this.方法 就可以调用

vue 复制代码
<button @click="changeCountAction(200)">+异步</button>
相关推荐
likuolei13 分钟前
XSL-FO 软件
java·开发语言·前端·数据库
正一品程序员14 分钟前
vue项目引入GoogleMap API进行网格区域圈选
前端·javascript·vue.js
j***894619 分钟前
spring-boot-starter和spring-boot-starter-web的关联
前端
star_111224 分钟前
Jenkins+nginx部署前端vue项目
前端·vue.js·jenkins
im_AMBER32 分钟前
Canvas架构手记 05 鼠标事件监听 | 原生事件封装 | ctx 结构化对象
前端·笔记·学习·架构
JIngJaneIL33 分钟前
农产品电商|基于SprinBoot+vue的农产品电商系统(源码+数据库+文档)
java·前端·数据库·vue.js·spring boot·毕设·农产品电商系统
Tongfront38 分钟前
前端通用submit方法
开发语言·前端·javascript·react
c***727438 分钟前
SpringBoot + vue 管理系统
vue.js·spring boot·后端
可爱又迷人的反派角色“yang”41 分钟前
LVS+Keepalived群集
linux·运维·服务器·前端·nginx·lvs
han_42 分钟前
前端高频面试题之CSS篇(二)
前端·css·面试