[vuejs/vue]getCurrentInstance 保持 vue2 和 vue3 接口一致

2025-10-29 388 views
6
这个功能解决了什么问题?

目前在做一个组件库,同时支持 vue2 和 vue3 的,想最新的 2.7.x 可以保持 getCurrentInstance 在 vue2 和 vue3 接口一致,目前 vue2 仅返回一个代理,用起来不是很方便

提议的 API 是什么样的?

在 vue2 场景下, getCurrentInstance 和 vue3 一致

回答

5

重构API保持一致,同时遇到一些数据劫持的不同,Vue 2.7仍然设置来绑定数据: https://blog.vuejs.org/posts/vue-2-7-naruto.html 尤其若遇到Vue 2.6以及其他版本,配合了@vue/componsition-api,那么接下来还有更多的操作要不同,作为库作者都注意这些细节的。判断一下版本还是更合适一些

4

getCurrentInstance返回内部的实例,除了代理外(接着于公共实例)其他属性都视为内部属性,想要保持一致应该避免使用除代理外的其他属性。