Vue3 全局API 挂载
1 import md5 from 'md5' 2 3 // 创建 Vue 实例 4 const app = createApp(App) 5 6 // 把插件的 API 挂载全局变量到实例上 7 app.config.globalProperties.$md5 = md5; 8 9 // 你也可以自己写一些全局函数去挂载 10 app.config.globalProperties.$log = (text: string): void => { 11 console.log(text); 12 }; 13 14 app.mount('#app');
Vue3.x 中无法使用 this 来操作,所以要通过 getCurrentInstance 组件来进行处理
1 // 导入 getCurrentInstance 组件 2 import { defineComponent, getCurrentInstance } from 'vue' 3 4 export default defineComponent({ 5 setup () { 6 // 获取当前实例 7 const app = getCurrentInstance(); 8 9 // 增加这层判断的原因见下方说明 10 if ( app ) { 11 12 // 调用全局的 MD5 API 进行加密 13 const MD5_STR: string = app.appContext.config.globalProperties.$md5('Hello World!'); 14 console.log(MD5_STR); 15 16 // 调用刚刚挂载的打印函数 17 app.appContext.config.globalProperties.$log('Hello World!'); 18 19 } 20 } 21 })
来自于: https://vue3.chengpeiquan.com/plugin.html#使用全局-api-new