在uniapp vue3中, mapActions 怎么用,给个例子
时间: 2024-03-06 08:50:19 浏览: 72
在 Uniapp 中,使用 Vuex 时可以使用 mapActions 函数来简化组件中对 store 中的 actions 的调用。下面是一个使用 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>
```
在 Uniapp 中使用 mapActions 函数的方式和上述示例是一样的,只需要在组件中引入 Vuex 并使用 mapActions 函数即可。需要注意的是,Uniapp 中的 Vuex 使用方式和 Vue3 中的 Vuex 使用方式基本相同,只是在目录结构和导入方式上略有不同。
阅读全文