kam*_*ila 4 vue.js vuex vuejs2
我在尝试从我的商店调用操作时收到以下错误:
[vuex] 在 mapActions() 中找不到模块命名空间:feedbacksessionStore/
从我在网上发现的其他解决方案中,人们建议设置“namespaced: true”,但它对我的情况没有帮助。
这是我的商店代码片段:
export const feedbackSessionStore = {
namespaced: true,
state: {
feedback_sessions: {},
},
actions: {
async createFeedbackSession({commit, state}, { data }) {
// some code
}
}
}
Run Code Online (Sandbox Code Playgroud)
以及组件代码片段:
import { mapGetters, mapState, mapActions } from 'vuex'
// some code
export default {
name: 'create-edit-feedback-session',
methods: {
...mapActions('feedbackSessionStore', [
'createFeedbackSession'
]),
// some code
}
Run Code Online (Sandbox Code Playgroud)
小智 7
为了解决这个问题,你必须做两件事:
通过在 store/modules 目录中执行以下代码,将“feedbackSessionStore.js”创建为单独的模块:
namespaced: true,
state: {
feedback_sessions: {},
},
actions: {
async createFeedbackSession({commit, state}, { data }) {
// some code
}
}
Run Code Online (Sandbox Code Playgroud)将此模块添加到 store/index.js 中,如下所示:
import * as feedbackSessionStore from "@/store/modules/feedbackSessionStore.js";
Run Code Online (Sandbox Code Playgroud)经过这两个步骤,它应该可以工作。
| 归档时间: |
|
| 查看次数: |
10184 次 |
| 最近记录: |