vue3中setup為什么不能使用this?
setup中為什么不能用this?
官方是這樣說的:在?setup()?內(nèi)部,this?不會是該活躍實(shí)例的引用,因?yàn)?setup()?是在解析其它組件選項(xiàng)之前被調(diào)用的,所以?setup()?內(nèi)部的?this?的行為與其它選項(xiàng)中的?this?完全不同。這在和其它選項(xiàng)式?API?一起使用?setup()?時(shí)可能會導(dǎo)致混淆。
我們可以理解為:this未指向當(dāng)前的組件實(shí)例,在setup被調(diào)用之前,data,methods,computed等都沒有被解析,但是組件實(shí)例確實(shí)在執(zhí)行setup函數(shù)之前就已經(jīng)被創(chuàng)建好了
照理來說通過new Vue()創(chuàng)建vue實(shí)例后應(yīng)該進(jìn)入beforeCreate生命周期,但是setup的執(zhí)行時(shí)機(jī)是在beforeCreate之前的,此時(shí)this是undefined



標(biāo)簽: