對比:
在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:'',
})