Vue3的setup函数中为什么没有this
我们在vue2中使用options api时,可以使用this,但是当我们使用vue3中的composition api时,我们在setup中却无法使用this。原因是:我们在options api中对其中的一些属性进行绑定,但是在composition api中的setup函数的执行并没有绑定实例对象,下面我们看一下源码。上面截图为options api中的methods选项和生命周期函数的部分
·
我们在vue2中使用options api时,可以使用this,但是当我们使用vue3中的composition api时,我们在setup中却无法使用this。
原因是:我们在options api中对其中的一些属性进行绑定,但是在composition api中的setup函数的执行并没有绑定实例对象,下面我们看一下源码。

上面截图为options api中的methods选项和生命周期函数的部分源码,我们可以看到当执行函数时,会使用bind进行绑定。
下面我们将从composition api的setup函数的内部实现原理进行解析。

上面为setup执行的代码,此时我们在上图的最后一个箭头执行可以看出,并没有绑定任何东西,所以此时在setup中不可以使用this。
更多推荐


所有评论(0)