八个生命周期
beforeCreate(创建前)
挂载元素el和数据对象data都未进行初始化
created(创建后)
数据对象data进行初始化,可以使用和更改数据
beforeMount(载入前)
挂载元素el初始化完成,虚拟DOM创建完成,可以使用和更改数据
mounted(载入后)
真实dom被渲染出来,data\method都已经处理好,可以在这里操作真实dom
beforeUpdate(更新前)
当data发生变化后,触发该阶段
updated(更新后)
重新构建虚拟DOM,重新渲染真实DOM
beforeDestroy(销毁前)
一般在这一步做一些重置的操作,比如清除掉组件中的定时器 和 监听的dom事件
destroyed(销毁后)
数据绑定和监听等等都移除
vue生命周期的作用是什么
它的生命周期中有多个事件钩子,让我们在控制整个Vue实例的过程时更容易形成好的逻辑
第一次页面加载会触发哪几个钩子
beforeCreate, created, beforeMount, mounted 这几个钩子
简述每个周期具体适合哪些场景
beforecreate : 可以在这加个loading事件,在加载实例时触发
created : 初始化完成时的事件写在这里,如在这结束loading事件,异步请求也适宜在这里调用
mounted : 挂载元素,获取到DOM节点
updated : 如果对数据统一处理,在这里写上相应函数
beforeDestroy : 可以做一个确认停止事件的确认框
created和mounted的区别
created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。
mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作