Skip to content

生命周期

生命周期图示

20230208141859

hookdesc
setupcpa语法
beforeCreate在组件实例初始化完成之后立即调用,此阶段props解析完毕,但data computed还没进行处理
created响应式数据,计算属性,方法已经部署完毕
beforeMount组件、元素挂载之前,即将挂载元素
mounted组件、元素挂载完毕,在这里可以操作el了,但不包括Suspense中内部组件
beforeUpdate响应式数据发生改变,在组件更新之前调用
updated组件因响应式数据而更新之后调用
beforeUnmount组件被卸载之前调用
unmounted组件卸载之后调用,通常应用在事件解绑
errorCaptured捕获到后代组件错误时触发

keepAlive独有钩子

hookdesc
activated组件插入DOM时调用
deactivated组件在DOM移除之后调用

开发时的钩子

仅在开发模式下有效的钩子

hookdesc
renderTracked响应式依赖被组件渲染作用跟踪后调用
renderTriggered响应式依赖被组件重新触发渲染之后调用

请求数据一般在哪个钩子中执行

在created钩子中,请求数据,因为这个时候data和methods已经部署完毕了,可以直接发送请求将返回来的数据存放到data中

当然也可以在beforeMount和mounted中调用,因为这三个钩子data已经部署好了,但还是推荐在created中调用会比较好,因为能更快获取到服务器端的数据,减少页面加载事件,用户体验更好

created和mounted的区别是什么

在上面已经提到created是部署完data,methods和计算属性方法的了,接着在渲染组件到HTML中。

区别在于created是组件渲染前调用,mounted是组件渲染之后调用。

如果业务需求需要操作到dom,需要通过ref绑定之后在mounted钩子中获取到对应的元素