Vue生命周期钩子详解

生命周期

先唠叨一下生命周期的概念吧,简单讲生命周期就是一个组件从初始化到销毁的整个过程,如果觉得太抽象可以把组件类比为人,生命周期就是人的一辈子。

钩子?

如果把组件和人类比来看,钩子也就好解释了,举个例子:当我们大概在3岁左右就要去上幼儿园,去上幼儿园就是一个事件,这个事件需要在特定的时间去执行(3岁),那么我们就要把事件和时间关联起来,于是,我们就要用到钩子。
对于组件来讲,在组件的生命周期之中有几个特定的阶段(时间)可以给开发者“搞事情”,这几个特定的阶段就被称为钩子。

先看一下Vue官方提供的生命周期图

Vue官方文档生命周期图

对于开发者而言我们应该知道,在什么时候,做什么事情是最佳的,不要做30岁才上幼儿园的蠢事就行了。

钩子 时机 事件
beforeCreate 实例创建前 因为数据未加载,可以加个loading
created 实例创建后,完成数据观测,事件回调 ajax异步数据请求
beforeMount 调用render函数
mounted 挂载完成,已生成dom节点 可对dom进行操作
beforeUpdate 数据更新时调用,不进行重新渲染 状态管理
updated 数据更新并且DOM重新渲染 可以执行依赖于 DOM 的操作
beforeDestory 实例销毁之前调用
destroyed Vue 实例销毁后调用
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容