看到这个标题 ,可能有人会觉得这个操作有点不伦不类。但是我确实遇到了一个情况让我需要这么做。我需要调用电子签名的组件,这个组件是 vue2 写的,但是我不想自己重写代码(对的我我想偷懒)
组件直接引用确实是可以的,但是使用组件的时候,我需要调用组件中的方法。本以为 Vue3 调 Vue2 中的组件有点困难,但是稍加研究发现确实是可以的,写法如下。
//vue2中的方法是这样的
this.$refs.esign.reset()
//vue3中只要这样写就可以了
import { getCurrentInstance } from 'vue'
const { ctx } = getCurrentInstance() as any
const _this = ctx
_this.$refs.esign.reset()