一、當我在調用store時報錯: Cannot read property 'state' of undefined
具體代碼如下圖
解決過程:
各種嘗試有點無計可施,感謝網友哪種分享,給了我解決的思路,所以我把我的解決過程及最終方案也分享給大家,希望能幫忙到別人。
1、新建簡單test頁。先test頁直接引用store.js
先是報錯,發現原來 vue3 不可以直接以 import Vue from 'vue' 引用。
在store.js中去掉 import Vue from 'vue' 、Vue.use(Vuex) ,修改如下,成功調用。
import store from '@/store/store.js'
methods: { increment () { store.commit('increment') console.log(store.state.count) } }
2、在mian.js 掛載,通過this.$store.state.count 調用。
一直會報 Cannot read property 'state' of undefined
先是在mian.js中增加打印:console.log('main.js來了。不是vue3環境 - 執行代碼塊') 、console.log('是vue3環境 - 執行代碼塊')
打印結果說明我是vue3版本。之前我一直在// #ifndef VUE3 塊中嘗試說明地方就搞錯了。
一直報錯,說明就是掛載不成功。最後瞭如下修改解決。
app.use(store) 掛載。要注意掛載的地方。如果有幫助到你,多多支持,能幫助到更多的人。
// #ifdef VUE3 console.log('是vue3環境 - 執行代碼塊') import {createSSRApp} from 'vue' import App from './App.vue' import store from '@/store/store.js' console.log('mian中:'+store.state.count) export function createApp() { const app = createSSRApp(App) app.use(store) return { app, store } } // #endif
二、module namespace not found in mapState()
// 從 vuex 中按需導出 mapState 輔助方法 import {mapState} from 'vuex' export default { computed:{ ...mapState('m_cart',['cart']) },
如上圖代碼報錯,原因:找到 cart 對應的js文件,在當中開啓命令空間
//爲當前模塊開啓命令空間 namespaced:true,