存储 vuex 无法读取未定义的属性‘store’”
2017-10-27
9015
我尝试创建第一个简单的应用程序,但在 store 中遇到了问题。
我在 mainJS 中
import Vue from 'vue'
import Vuex from 'vuex'
import App from './App'
import router from './router'
Vue.use(Vuex);
import {store} from './Store.js';
store.commit('increment')
new Vue({
el: '#app',
router,
store,
template: '<div><App></App></div>',
components: { App }
});
因此在我的 store.js
import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);
export const store = new Vuex.Store({
state: {
count: 0
},
mutations: {
increment (state) {
state.count++
}
}
});
因此我将创建一个使用事件 increment 的 App 组件的子组件,因此我创建了一个组件 Counter
<template>
<div>{{ count }}</div>
</template>
<script>
export default {
name: "Counter",
computed: {
count () {
return this.$.store.state.count
}
}
}
</script>
并且我从我的 App 组件中调用此组件:
<template>
<div id="app">
<img src="./assets/logo.png">
<router-view/>
<Counter></Counter>
</div>
</template>
<script>
import Counter from './components/Counter.vue'
export default {
name: 'app',
components:{
Counter
}
}
</script>
但是我的 Counter 组件中出现了此错误:
[Vue warn]: Error in render: "TypeError: Cannot read property 'store' of undefined"
found in
---> at src\components\Counter.vue at src\App.vue
2个回答
您只犯了一个小错误:它必须是
$store
,而不是
$.store
:
<template>
<div>{{ count }}</div>
</template>
<script>
export default {
name: "Counter",
computed: {
count () {
return this.$store.state.count
}
}
}
</script>
Daniel Diekmeier
2017-10-27
我遇到了同样的问题,并且在 .js 存储文件的所有行中将
Vue
更改为
vue
,将
Vuex
更改为
vuex
,我使其正常工作。
arimas
2020-05-06