Store vuex无法读取未定义的属性“ store”

Lor*_*rti 1 javascript vue.js vuex

我试图创建第一个简单的应用程序,但是商店有问题。

我在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 }
});
Run Code Online (Sandbox Code Playgroud)

所以在我的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++
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

因此,我将创建一个使用事件增量的App Component的子组件,因此我创建了一个组件计数器

<template>
    <div>{{ count }}</div>
</template>
<script>

export default {

    name: "Counter",
    computed: {
        count () {
            return this.$.store.state.count
        }
    }

}
</script>
Run Code Online (Sandbox Code Playgroud)

我从我的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>
Run Code Online (Sandbox Code Playgroud)

但是我的Counter 组件中出现此错误:

[Vue警告]:渲染错误:“ TypeError:无法读取未定义的属性'store'”

在发现

--->在src \ components \ Counter.vue在src \ App.vue

Dan*_*ier 6

您只犯了一个小错误:必须是$store,而不是$.store

<template>
    <div>{{ count }}</div>
</template>

<script>
export default {
    name: "Counter",
    computed: {
        count () {
            return this.$store.state.count
        }
    }
}
</script>
Run Code Online (Sandbox Code Playgroud)