使用 Vue 3 Composition API 创建全局商店 [英] Create a Global Store using Vue 3 Composition API

查看:30
本文介绍了使用 Vue 3 Composition API 创建全局商店的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试仅使用 Vue 3 Composition API 创建一个全局商店.

直到现在我一直在做实验,我读了很多如何使用 Composition API,但我知道我不知道如何使用 provideinject.

我所知道的是 provide 将拥有将传递给子组件的所有数据,所以我认为我应该将 store 导入到 main.ts.代码如下所示:

这是商店(src/store/index.ts):

import {reactive, readonly } from vue";const 状态 = 反应性({fnacResults: [],结果间:[],});出口默认{状态:只读(状态)};

这是main.ts:

import { createApp } from vue";从./App.vue"导入应用程序;从./router"导入路由器;从./store/index"导入商店;createApp({ 提供: { store }, }, App).使用(路由器).mount(#app");

当父组件有数据时,如果我使用inject,我将能够访问商店内的所有数据.但就我而言,它不起作用.我有一种感觉,当我在 main.ts 文件中设置 provide 时,错误就开始了.

您是否尝试过使用 Composition API 和 provideinject 创建全局存储?

顺便说一句,我的组件文件(src/views/Home.vue)看起来像这样: