如何vue3中使用全局变量,与Vue2的区别

对比:
在vue2.x中我们挂载全局变量或方法是通过是使用Vue.prototype.$xxxx=xxx的形式来挂载,然后通过this.$xxx来获取挂载到全局的变量或者方法
但是 在vue3.x中显然是不行滴,在setup里面我们都获取不到this,但是 别怕 vue3.x官网给我们提供了新的方法 叫:globalProperties 。添加一个可以在应用的任何组件实例中访问的全局 property。组件的 property 在命名冲突具有优先权

举例: 比如我们挂在一下axios

// 在main.js上 
import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App);
import axios from './api/axios'
app.config.globalProperties.$axios = axios;
app.use(router).use(store).mount('#app');

如何使用呢

// 在页面上引用:
import { getCurrentInstance } from 'vue';
const { proxy } =getCurrentInstance();

使用

proxy.$axios({
 url:'',
 method:'',
}
posted @ 2022-06-13 06:59  喝茶看猴戏  阅读(85)  评论(0)    收藏  举报  来源