请问vue3中为什么获取组件实例这么复杂?

    const internalInstance = getCurrentInstance()
    internalInstance.appContext.config.globalProperties // 访问 globalProperties

我不理解为什么获取个全局实例上的东西这么复杂,为什么vue作者不把这个对象代理到一个方便获取的属性上去?

阅读 5.3k
2 个回答

以前只有一个应用,全局就是vue。 3.0支持了多应用, 全局可能存在N个vue,所以获取当前应用的实例要复杂得多。

说实话我也没见过多应用场景,不太了解什么样的系统会有多应用独立的同时还存在互相交互这样的场景。 唯一能想到的,可能就是微信和小程序这样的关系了。

原文档的表述,强烈反对在一般的开发中使用getCurrentInstance取代this。此外,internalInstance.appContext.config.globalProperties只是说想要通过单个组件实例想要获取globalProperties需要这么长的访问顺序,获取组件实例只有第一句。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题