报错:vuex报错 this.$store显示undefined,使用vuex保存数据时,发现this.$store是undefined,
打印this,发现没有$store属性。
可能存在的问题
1.store文件中的vuex是否实例对象并且暴露出去
import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex)
const store = new Vuex.Store({
state: {
currentMenu: null
},
mutations: {
selectMenu (state, val) {
val.name === 'home' ? (state.currentMenu = null) : (state.currentMenu = val)
}
}
})
export default store// 用export default 封装代码,让外部可以引用
2.主文件main.js师傅成功注入store
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import Element from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import jsCookie from '@/utils/js-cookie.js'
import store from './store'
Vue.use(Element)
Vue.prototype.$jsCookie = jsCookie
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
store,
components: { App },
template: '<App/>'
})
3.如果上面都没有问题,那么需要查看packpage.json,查看vue与vuex版本
vue2对应vuex3,vue3对应vuex4
我的项目shi版本不对引起的 安装对应的版本既可以
pm install vuex@3.6.2 --save