vue.js - 前缀或范围 Vuex mapActions 和 mapGetters 以避免冲突
问题描述
我正在使用带有动作和吸气剂的Vuex 商店user.module
,我在我的组件中导入主题,如下所示:
<template>
...
<login-form v-if="!isAuthenticated"/>
...
</template>
<script>
import { mapActions, mapGetters } from 'vuex'
export default {
...
computed :{
...mapGetters('user', ['isAuthenticated', 'isProcessing']),
},
methods:{
...mapActions('user', ['getUser']),
}
...
}
</script>
上面的脚本工作得很好,我想要的是范围,命名空间或为我的动作和吸气剂添加一个前缀,以避免与我的组件中的其他方法发生冲突,比如user.isAuthenticated
,我尝试了这些组合,但没有一个主题能完成这项工作:
...mapActions('user', ['user/getUser'])
...mapActions('user', ['user.getUser'])
...mapActions('user/user', ['getUser'])
...mapActions('user.user', ['getUser'])
提前致谢。
解决方案
您必须使用对象语法将操作映射到组件中的不同名称:
...mapActions('user', {
prefix_getUser: 'getUser', // this.prefix_getUser -> user/getUser action
prefix_getFoo: 'getFoo', // this.prefix_getFoo -> user/getFoo action
})
这在文档中有所描述。
推荐阅读
- r - R程序问题
- javascript - 将 src="http://js.api.here.com/v3/3.0/mapsjs-service.js" 等第三方脚本加载到 Nodejs 应用程序中
- mongodb - 连接到 MongoDB 集合的问题
- python - 在 Python 中使用 self inside 实例方法
- html - 如何跟踪 (WHATWG) HTML 标准的新功能
- r - 热图无法准确表示数据
- php - 使用php在数据库中使用单个查询更新多条记录
- xcode - React-Native 中的高 CPU 使用率
- go - Go中特定类型的调用函数
- python - 使用 requests_mock 和 pytest 模拟 botocore.vendored 请求