You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vuex可正常识别getters但无法识别actions与mutations问题求助

问题原因及修复方案

核心原因:重复实例化Vuex.Store导致配置丢失

你的store.js最终导出的已经是已经实例化完成的Vuex.Store对象,但你在app.js中又将它作为配置参数传入了新的Vuex.Store构造函数,相当于嵌套生成了一个新的空Store,新Store并没有注册你定义的actions、mutations,因此会提示找不到对应类型。

修复方法

修改app.js中store相关的代码,直接导入使用store.js导出的实例即可,无需重复实例化:

// app.js修改对应部分
require('./bootstrap');

window.Vue = require('vue').default;

import Vuex from "vuex";
Vue.use(Vuex);
import store from "./store"; // 直接导入已完成实例化的store

Vue.component('home', require('./components/Home.vue').default);

const app = new Vue({
    el: '#app',
    store
});

其他可优化问题

  1. action中axios调用错误:Vuex的action内部this不指向Vue实例,直接调用this.$axios会报错。如果你已经将axios挂载到Vue原型上,可以修改为Vue.prototype.$axios.get('getMembers'),或者直接在store.js中导入axios使用。
  2. getters冗余写法:当前你定义的getter返回的是一个函数,属于高阶getter的写法,常规场景下无需这么写,可以简化为:
// store.js修改getters配置
export const getters = {
    members: state => state.members
};

内容的提问来源于stack exchange,提问作者Mike

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 02:15:05