Vuex 的语法“...mapActions([‘login‘]) ”是用于在组件中映射 Vuex 的 actions 方法

...mapActions(['login']) 是 Vuex 的语法,用于在组件中映射 Vuex 的 actions 方法 ,让你可以像调用本地方法一样去调用 Vuex 中的 login 方法。


它的意思是:

js 复制代码
...mapActions(['login'])

等价于:

js 复制代码
methods: {
  login() {
    return this.$store.dispatch('login');
  }
}

使用场景:

在 Vue 组件的 methods 中使用 mapActions

js 复制代码
<script>
import { mapActions } from 'vuex';

export default {
  methods: {
    ...mapActions(['login']),
  }
}
</script>

然后你就可以在组件里直接调用:

js 复制代码
this.login(); // 实际上是触发 Vuex 里的 login action

举个实际例子:

Vuex 中:

js 复制代码
// store.js
export default {
  actions: {
    login({ commit }, payload) {
      // 做登录逻辑,比如发请求
      console.log('用户登录中...', payload);
    }
  }
}

组件中:

js 复制代码
export default {
  methods: {
    ...mapActions(['login']),
    doLogin() {
      this.login({ username: 'test', password: '123456' });
    }
  }
}

补充:mapActions 的作用

用法 作用
mapActions(['xxx']) 映射 this.xxx() 到 Vuex action
mapMutations(['xxx']) 映射 this.xxx() 到 Vuex mutation
mapState(['xxx']) 映射 Vuex state 到组件计算属性
相关推荐
C_心欲无痕14 分钟前
ts - tsconfig.json配置讲解
linux·前端·ubuntu·typescript·json
清沫18 分钟前
Claude Skills:Agent 能力扩展的新范式
前端·ai编程
yinuo1 小时前
前端跨页面通信终极指南:方案拆解、对比分析
前端
北辰alk1 小时前
Vue 模板引擎深度解析:基于 HTML 的声明式渲染
vue.js
北辰alk1 小时前
Vue 自定义指令完全指南:定义与应用场景详解
vue.js
yinuo1 小时前
前端跨页面通讯终极指南⑨:IndexedDB 用法全解析
前端
北辰alk2 小时前
Vue 动态路由完全指南:定义与参数获取详解
vue.js
北辰alk2 小时前
Vue Router 完全指南:作用与组件详解
vue.js
北辰alk2 小时前
Vue 中使用 this 的完整指南与注意事项
vue.js
xkxnq2 小时前
第二阶段:Vue 组件化开发(第 16天)
前端·javascript·vue.js