vue3 mapActions 怎么用,给个例子
时间: 2024-03-06 13:50:14 浏览: 57
基于Vue3.X的Vue-Cropper封面上传裁剪实例
好的,下面是一个使用 Vue3 中的 mapActions 函数的例子:
假设你有一个 store 模块,模块名为 `user`,里面有一个 `actions` 对象,其中定义了一个 `login` 方法,如下所示:
```javascript
// store/modules/user.js
const actions = {
login({ commit }, payload) {
// 在这里编写登录的业务逻辑
// ...
commit('SET_USER_INFO', userInfo)
}
}
export default {
namespaced: true,
actions
}
```
然后在 Vue 组件中,你可以使用 `mapActions` 函数来将 `user` 模块中的 `login` 方法映射到组件中,这样你就可以在组件中直接调用 `login` 方法了。
```vue
<template>
<button @click="handleLogin">登录</button>
</template>
<script>
import { mapActions } from 'vuex'
export default {
methods: {
...mapActions('user', ['login']),
handleLogin() {
// 在这里调用 login 方法
this.login({ username: 'admin', password: '123456' })
}
}
}
</script>
```
上述代码中,我们使用 `mapActions` 函数将 `user` 模块中的 `login` 方法映射到组件中,并将其命名为 `login`。然后在组件的 `handleLogin` 方法中,我们直接调用了 `login` 方法,并传入了一个包含用户名和密码的对象作为参数。
阅读全文