我正在尝试仅使用 Vue 3 Composition API 创建一个全局商店。
到现在为止我一直在做实验,我读了很多如何使用API组成,但知道对不对,我不知道如何使用provide
和inject
。
我所知道的是provide
将拥有将传递给子组件的所有数据,所以我认为我应该将商店导入到main.ts
. 代码如下所示:
这是商店(src/store/index.ts):
import { reactive, readonly } from "vue";
const state = reactive({
fnacResults: [],
interResults: [],
});
export default { state: readonly(state) };
Run Code Online (Sandbox Code Playgroud)
这是main.ts
:
import { createApp } from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store/index";
createApp({ provide: { store }, }, App)
.use(router)
.mount("#app");
Run Code Online (Sandbox Code Playgroud)
当父组件有数据时,如果我使用inject
,我将能够访问商店内的所有数据。但就我而言,它不起作用。我有一种感觉,当我provide
在我的main.ts
文件中设置时,错误就开始了。
您是否尝试过使用 Composition API …