vue实例从创建到销毁的过程,
Vue 的生命周期可以分为 8 个阶段,分别是:
- beforeCreate(创建前):Vue实例创建之前会执行它,此时data和methods中的数据或方法还未初始化,无法调用,———(loading动画)
- created(创建后):钩子函数是在Vue实例化之后执行的,此时data和methods已经初始化完成了,也就是我们还不能获取到DOM。———(axios请求)
- beforeMount(挂载前):在挂载开始之前被调用,即将开始编译模板并且将其渲染成真实的 DOM。数据已经与data中的属性进行绑定———(也可以做一些请求)
- mounted(挂载后):在挂载结束时被调用,此时真实 DOM 已经渲染出来了。可以执行操作,此时浏览器中已经包含当前组件的dom结构———(作用:最早可以操作dom的阶段)
- beforeUpdate(更新前):在数据更新之前被调用,这里不能操作 DOM,但是可以在数据更新前进行一些操作。———(作用:data数据是最新的,但是页面上的UI内容还没有改变)(可执行0~无限次)
- updated(更新后):在数据更新之后被调用,发生在虚拟 DOM 重新渲染和打补丁之后。这里也不能操作 DOM,但是可以在数据更新后进行一些操作。———(作用:极少用)
- beforeDestroy(销毁前):在实例销毁之前调用,要销毁组件,但尚未销毁,组件仍然是正常工作状态。———(作用:极少用,这里可以进行一些清理工作,比如清除定时器、解绑全局事件等)
- destroyed(销毁后):在实例销毁之后调用。这里没有访问到实例的任何东西,所以不能进行任何操作。———作用:极少用(可配合v-if指令进行理解)