Vue3的setup函数中为什么没有this

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

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

你可能感兴趣的:(vue面试,javascript,vue.js,setup,composition,api)