vue生命周期
vue实例的创建到销毁的过程就是vue的生命周期,也就是实例创建-->初始化数据-->编译模板-->挂载dom-->渲染、更新-->渲染、卸载等一系列过程,伴随着vue的生命周期还会触发一些钩子函数,这些函数可以让我们在生命周期的各个阶段做一些事情。
vue生命周期总共可以分为8个阶段:
1. beforeCreate:
实例创建完成前,vue实例的挂载元素$el和数据对象data都未初始化,undefined。
2. created:
实例创建完成后,数据对象data和methods方法初始化完成,$el不存在,dom还未生成,此时数据data已存在,可以进行一些初始化数据的操作,从服务端拿数据。
3. beforeMount:
实例挂载前,实例的挂载元素$el和data已被初始化,挂载前的$el为虚拟的DOM节点,模板在内存中已经完成,但是还未渲染到页面中。
4. mounted
实例挂载完成后,$el被新创建vm.$el替换掉,此时真实DOM渲染完成,可以进行DOM操作。
5. beforeUpdate
当data数据发生变化,数据更新之前触发,此时的data数据还没有和最新的数据保持同步。
6. updated
当data数据发生变化,数据更新完成后触发,此时的data数据已经和最新数据同步。
7. beforeDestroy
实例销毁之前调用,在此时vue实例仍然可以使用,可以进行一些addEventListener事件的解除,清除定时器等操作。
8. destroyed
实例销毁之后调用,vue实例的事件监听和DOM绑定已经解除,data数据发生变化也不会再触发生命周期,但是dom结构还存在。
网友评论