vue3定义一个在本页面的全局变量 并在接口中给这个变量赋值
在 Vue3 中,可以使用 provide 和 inject 来实现在本页面的全局变量。
首先,在页面的根组件中,使用 provide 方法定义一个名为 globalVar 的全局变量,并初始化为 null:
import { createApp } from 'vue';
import App from './App.vue';
const app = createApp(App);
app.provide('globalVar', null);
app.mount('#app');
然后,在接口中,可以通过 inject 方法获取到 globalVar,并赋值:
import { inject } from 'vue';
export default {
data() {
return {
data: null,
};
},
async mounted() {
const globalVar = inject('globalVar');
globalVar = 'hello world';
// 调用接口获取数据
const res = await fetch('https://example.com/api');
const data = await res.json();
this.data = data;
},
};
这样,全局变量 globalVar 就在本页面中定义并赋值了。注意,在接口中使用 inject 获取到的 globalVar 是一个响应式的对象,所以可以直接修改它的值。
原文地址: https://www.cveoy.top/t/topic/bsKK 著作权归作者所有。请勿转载和采集!