使用mapGetters报错TypeError: Cannot read properties of undefined (reading '$store')
时间: 2023-11-25 15:08:18 浏览: 78
Vue打包Cannot read property 'tapPromise' of undefined报错处理.docx
5星 · 资源好评率100%
这个错误通常是因为在使用 `mapGetters` 时,没有正确引入 `vuex` 或者没有在组件中注入 `store`。
解决方法如下:
1. 确认是否已经正确引入 `vuex`,可以在 `main.js` 中进行引入:
```javascript
import Vue from 'vue'
import Vuex from 'vuex'
import store from './store'
Vue.use(Vuex)
new Vue({
store,
render: h => h(App)
}).$mount('#app')
```
2. 确认是否已经在组件中注入了 `store`,可以在组件中使用 `this.$store` 来访问 `store` 对象。如果没有注入,可以在组件中进行注入:
```javascript
import { mapGetters } from 'vuex'
export default {
computed: {
...mapGetters([
'getterName'
])
},
created() {
console.log(this.$store) // 如果能够正确输出 $store 对象,说明已经注入成功
}
}
```
如果以上两个方法都没有解决问题,可以检查一下 `store` 对象中是否存在对应的 `getter`,或者提供更多的错误信息以便更好地定位问题。
阅读全文