当前位置:   article > 正文

Vue3 的 setup 生命周期函数中为什么不能使用 this ?

Vue3 的 setup 生命周期函数中为什么不能使用 this ?

Vue3 的 setup 生命周期函数中为什么不能使用 this ?

官方解释:在 setup() 内部,this 不会是该活跃实例的引用,因为 setup() 是在解析其它组件选项之前被调用的,所以 setup() 内部的 this 的行为与其它选项中的 this 完全不同。这在和其它选项式 API 一起使用 setup() 时可能会导致混淆。

简单理解:this未指向当前的组件实例,在setup被调用之前,data,methods,computed等都没有被解析,但是组件实例确实在执行setup函数之前就已经被创建好了。照理来说通过new Vue()创建vue实例后应该进入beforeCreate生命周期,但是setup的执行时机是在beforeCreate之前的,并且在setup执行的时候组件实例还未创建完毕,故也不能使用data,methods,computed定义的变量和函数,此时thisundefined

setup 生命周期函数在整个调用和处理的过程中根本没有绑定this,此时 this并不指向实例,为避免混淆,Vue3setup 中的this置为了 undefined

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/638979
推荐阅读
相关标签
  

闽ICP备14008679号