Vue3为什么setup()中不能使用this

Vue3为什么setup()中不能使用this的原因:整个组件的处理过程种根本没有绑定this。

1.从处理节点开始(判断是否为component节点,还有html片段等),如果是component节点,执行processComponent函数。

2.processComponent函数中,挂载组件调用mountComponent方法

3.mountComponent方法中,创建组件实例,传入setupComponent方法,对组件的props/slots/data等进行初始化处理,并对内部又vue2的options api进行兼容


4.从实例中,取出setup,如果是composition api,执行setup。

处理一个组件的大概流程就是这样,可以看出,在这个过程中,并没有绑定this,所以setup()中不能使用this。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容