首页 文章

Vuex存储此 . $ store在Vue.js组件中未定义

提问于
浏览
1

我有一个使用Vuex的新vue-cli webpack项目 . 我在store.js中初始化了我的Vuex商店,如下所示:

import Vue from "vue";
import Vuex from "vuex";

Vue.use(Vuex);

const store = new Vuex.Store({
  state: {}
});

export default store;

在我的App.vue中,我从 './store.js' 导入存储,工作正常,但 this.$store 未定义 . 我错过了什么?

这是我的App.vue

<script>
import Navigation from "@/components/Navigation";
import axios from "axios";
import store from "./store";
export default {
  created() {
    console.log("store from $store", this.$store);
    console.log("store from store: ", store);
  }
}
</script>

第二个 console.log(store) 工作正常 .

1 回答

  • 2

    我找到了解决方案 . 在我的main.js中,我没有在Vue实例上设置商店 . 对于任何一个被困在这上面的人来说,这就是你所需要的: main.js

    import Vue from "vue";
    import App from "./App";
    import router from "./router";
    import store from "./store"; // this
    require("./assets/styles/main.scss");
    
    Vue.config.productionTip = false;
    
    new Vue({
      el: "#app",
      router,
      store, // and this
      components: { App },
      template: "<App/>"
    });
    

相关问题