为什么会出现这个问题呢?就是因为你的vuex安装的版本是最新版本
vue@3版本对应的是 vue2
vue@4版本对应的是 vue3
如果你在vue2项目中,所有的配置好了,组件中就是没有$store属性,那么很有可能是安装的vuex插件版本过高
store文件夹下的index.js文件
import Vue from 'vue'
import Vuex from 'vuex'
// 使用一次插件
Vue.use(Vuex)
const state = {
count:0
}
const actions = {
// 这里可以书写业务逻辑 参数不能修改state的值
add({commit}){
console.log(123);
commit('ADD')
}
}
const mutations = {
ADD(state){
state.count++
}
}
const getters = {}
// 岁外包录一个Store类的实例
export default new Vuex.Store({
state,
mutations,
actions,
getters
})
main.js文件
import Vue from 'vue'
import App from './App.vue'
import router from './router'
// 引入仓库
import store from '@/store/index.js'
// 把三级联动注册为全局组件
import TypeNav from '@/components/TypeNav'
// 第一个参数全勤局组件的名字,第二个参数 那一个组件
Vue.component("TypeNav",TypeNav)
Vue.config.productionTip = false
// 商品列表的请求在这里进行测试
import { reqCategoryList } from './api'
reqCategoryList()
new Vue({
router,
// 注冊仓库:组件实例的身上会多一个属性$store属性
store,
render: h => h(App),
}).$mount('#app')