首页 > 解决方案 > 如何将 store 传递给 vue 3 中的 vue 实例?

问题描述

vuex 文档指定您必须像这样将创建的存储传递给 vue 实例

new Vue({
  el: '#app',
  store: store,
})

我的问题是我使用 CLI 创建了一个新的 vue 项目,并使用 create app 将应用程序安装在 mian.js 中,如下所示:

import App from './App.vue'


const app = createApp(App)
app.mount('#app')

如何使用第二种方法通过商店,以便我可以从任何组件访问它,或者如何使用第一种方法正确安装应用程序?他们之间有什么区别?

据我了解createApp(),在 vue 3 中是新的,我不确定它是如何工作的,我似乎找不到合适的文档,new Vue({})和之间有什么区别createApp()

我确定我不了解一些基本概念,但我不知道是哪个...

谢谢你。

标签: vue.jsvuex

解决方案


您应该使用createStorev4 vuexrc 然后调用app.use(store)

store.js

import { createStore } from 'vuex'

export const store = createStore({
  state () {
    return {
      count: 1
    }
  }
})

应用程序.js

import { createApp } from 'vue'
import { store } from './store'
import App from './App.vue'

const app = createApp(App)

app.use(store)

app.mount('#app')

Vuex v4安装过程


推荐阅读