Vue3 全局挂载对象和方法

  • Vue3.x已经不支持直接Vue.prototype.$xxx =xxx这种方式来挂载全局对象,这是由于globalVue不再是构造函数,因此不再支持该构造函数
    Vue3 全局挂载对象和方法_第1张图片

  • 更新后的挂载方法
    Vue3 全局挂载对象和方法_第2张图片

  • main.js中通过 config.globalProperties 进行全局挂载

import { createApp } from 'vue'
import App from './App.vue'
const app = createApp(App);
// Vue3全局挂载名称
app.config.globalProperties.$vueName = 'Vue3全局挂载名称'
app.mount('#app')
  • 获取方法通过 getCurrentInstance 获取proxy,再获取全局挂载的实例
<script>
import { defineComponent, getCurrentInstance } from 'vue'
export default defineComponent({
  setup(){
    const { proxy } = getCurrentInstance()
    console.log(proxy.$vueName)
    return {}
  }
})
</script>
  • 结果
    Vue3 全局挂载对象和方法_第3张图片

你可能感兴趣的:(Vue)