我们在vue2中使用options api时,可以使用this,但是当我们使用vue3中的composition api时,我们在setup中却无法使用this。
原因是:我们在options api中对其中的一些属性进行绑定,但是在composition api中的setup函数的执行并没有绑定实例对象,下面我们看一下源码。

在这里插入图片描述
上面截图为options api中的methods选项和生命周期函数的部分源码,我们可以看到当执行函数时,会使用bind进行绑定。
下面我们将从composition apisetup函数的内部实现原理进行解析。
在这里插入图片描述
上面为setup执行的代码,此时我们在上图的最后一个箭头执行可以看出,并没有绑定任何东西,所以此时在setup中不可以使用this

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐