Vue-Day4
Vue生命周期
每个 Vue 实例在被创建时都要经过一系列的初始化过程——例如,需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。(摘自https://cn.vuejs.org/)
实例的生命周期图
生命周期钩子在new Vue
内以属性的方式进行声明
1 | new Vue({ |
注:在生命周期函数中不能使用箭头函数(=>)
生命周期函数
beforeCreate
在实例初始化之后,数据观测(data observer
)和event/watcher事件
配置之前被调用,简单来是,就是页面加载之前被调用,一般可以在这里加载动画created
在实例创建之后被调用,这一步已经完成了数据观测(data observer
),属性和方法的运算,watch/event
事件回调,但是挂载还没有开始,$el
属性目前不可见。一般可以在这里获取数据
接下来
Vue
会判断是否有el
属性,如果有,则检查有没有
template
如果没有,则检查有没有
.$mount
,如果没有,则整个生命周期结束
有
template
,则执行template
中具体的组件,render
方法渲染页面,或者具体标签没有
template
和.$mount
,则生命周期结束
beforeMount
在挂载之前被调用,相关的渲染函数首次被调用,虚拟Dom已经配置,但是页面仍未显示mounted
组件挂在后,el
被新创建的vm.$el
替换,挂载成功,此方法执行后,页面显示beforeUpdate
组件更新前,页面仍未更新,但虚拟Dom已经配置updated
组件更新,此方法执行后,页面显示beforeDestroy
组件销毁前destoryed
组件销毁
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 xt5una!