这个问题是解决基于 vue 和 electron 的开发中使用 vuex 的 dispatch 无效的问题,即解决了 Please, don't use direct commit's, use dispatch instead of this.
问题。
先允许我梳理一下目录结构,以便阅读的时候不会一头雾水,你到底说的这个文件是哪个……
其中 /src/main
是存放主配置文件的,/src/render
下面有 store
、router
、components
等。
components
下面就是很多 .vue
文件,router
下面就是一些路由配置的 js
文件和一些拦截器的 js
。
关键是 store
,store
下面有一个 index.js
的主配置文件 index.js
,和一个 modules
文件夹。
index.js
里面写的是(记住这句话,后面会用到):
import Vue from 'vue'
import Vuex from 'vuex'
import {
createPersistedState, createSharedMutations } from 'vuex-electron'
import modules from './modules'
Vue.use(Vuex)
export default new Vuex.Store({
modules,
plugins: [
createPersistedState(),
createSharedMutations()
],
strict: process.env.NODE_ENV !==