Skip to content

全局挂载对象和方法

  • Vue3.x已经不支持直接Vue.prototype.$xxx =xxx这种方式来挂载全局对象,这是由于globalVue不再是构造函数,因此不再支持该构造函数 在这里插入图片描述

  • 更新后的挂载方法在这里插入图片描述

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

javascript
import { createApp } from "vue";
import App from "./App.vue";
const app = createApp(App);
// Vue3全局挂载名称
app.config.globalProperties.$vueName = "Vue3全局挂载名称";
app.mount("#app");
  • 获取方法通过 getCurrentInstance 获取proxy,再获取全局挂载的实例
javascript
<script>
import { defineComponent, getCurrentInstance } from 'vue'
export default defineComponent({
  setup(){
    const { proxy } = getCurrentInstance()
    console.log(proxy.$vueName)
    return {}
  }
})
</script>
  • 结果 在这里插入图片描述