vue3中使用全局变量

对比:

在vue2.x中我们挂载全局变量或方法是通过是使用Vue.prototype.$xxxx=xxx的形式来挂载,然后通过this.$xxx来获取挂载到全局的变量或者方法

但是 在vue3.x中显然是不行滴,在setup里面我们都获取不到this,但是 别怕 vue3.x官网给我们提供了新的方法 叫:globalProperties  。添加一个可以在应用的任何组件实例中访问的全局 property。组件的 property 在命名冲突具有优先权

用法: 比如我们挂在一下我们的axios
在main.ts上
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 @ 2021-12-28 15:36  程序媛小仙女  阅读(8534)  评论(0编辑  收藏  举报