是否可以从导入到组件中的单独模块调用 Vuex mapActions?我正在尝试标准化 vue.js Web 应用程序中的一组函数。我想将它们导入到每个组件中并传递一些值到函数操作。我正在使用 vuex 来管理状态。目前,每个组件每次加载时都会调用这些函数(完全相同)。我想将其重构为一个模块,并根据需要将其导入到每个组件中。此代码使用 mapActions 作为其功能的一部分。下面是相关的代码段:component、module、vuex actionVue 组件://the imported function callif (!this.queued){ timer.updatePage(this.pagination, this.orders);}模块代码(advance.js):import { mapActions } from 'vuex';let currentComp = { name: 'purchase', date: null, start: false}const timer = { ...mapActions(['currentComponent']), updatePage(pagination, order) { currentComp.name = 'nextComponent'; this.currentComponent(currentComp); }}export default timer;Vuex 代码://in the actions section:currentComponent({ commit }, comp) { console.log(comp); commit('setCurrentComponent', comp);}//in the mutations section:setCurrentComponent: (state, comp) => { state.currentComponent = comp.name; return state; }当组件运行导入的函数时,我得到:vuex.esm.js?2f62:870 Uncaught TypeError: Cannot read property 'dispatch' of undefined at Object.mappedAction [as currentComponent] (vuex.esm.js?2f62:870) at eval (advance.js?935c:37)当我从 this.currentComponent 中删除 this 时,我得到:advance.js?935c:37 Uncaught ReferenceError: currentComponent is not defined at eval (advance.js?935c:37)提前感谢您的任何指导。
添加回答
举报
0/150
提交
取消