从一个组件出生到销毁的全过程。
一.beforeCreate
说明:在这里面会初始化一些方法和监听器等。
二.Create
说明:在这个时候,方法已经初始化好了,
三.beforeMounted
在这个时候会进行挂载,但是还是不能获取到真实的DOM
经过一系列的转换之后
四.Mounted
这个时候,渲染到了真实的dom上了,可以获取到真实的dom。
五.bedoreUpdated
这个在什么时候触发呢,当页面进行更新的时候会进行触发,那么获取到的是更新以前的还是更新以后的,获取到的是更新以前的,举个例子来说,当data里面的数据是1,我点击按钮变成2,那我在这个阶段获取到的是什么呢?结果是必然的,获取到的是1?有些人会感到很奇怪,为什么获取到的是1,而不是2吗?我明明更新了2啊,答案很简单,因为Vue的渲染是异步的;个人理解来说就是批量渲染,假设我更新了一项,而使页面重绘,这样的效率是极其低的,所以他是进行批量渲染的。这样的效率会大大的提升。
经过一系列的处理,此时到了Updated阶段
六.Updated
在这个阶段,获取到的又是2,因为这个时候页面已经实现同步的更新。
七.beforedestory
在这个阶段,会对组件的一些东西进行销毁,清除定时器,缓存之类的。那么请问里面的东西还能用吗,我给出的答案是可以用,此时还是准备销毁,但是还没有销毁。
八.destory
在这个阶段,组件的东西会全部进行销毁。
九.activated
被 keep-alive 缓存的组件激活时调用。
10.deactivated
被 keep-alive 缓存的组件失活时调用。
11.errCaptured
在捕获一个来自后代组件的错误时被调用。此钩子会收到三个参数:错误对象、发生错误的组件实例以及一个包含错误来源信息的字符串。此钩子可以返回 false
以阻止该错误继续向上传播。