Vue生命周期

86 阅读2分钟

lifecycle.png

周期说明
beforeCreate在实例初始化之后,数据观测和事件配置之前被调用组件实例还未创建
created在实例创建完成后被立即调用,完成数据观测,属性和方法的运算,初始化事件,$el属性未见组件初始化完毕,各种数据可以使用,可以使用ajax发送异步请求获取数据
beforeMount在挂载开始之前被调用:相关的 render 函数首次被调用,只在虚拟DOM生成HTML未执行渲染,更新,虚拟DOM完成,真实DOM未创建
mounted在el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用。实例已完成以下的配置:用上面编译好的html内容替换el属性指向的DOM对象。完成模板中的html渲染到html页面中。此过程中进行ajax交互初始化阶段结束,真实DOM已经创建,可以发送异步请求获取数据,也可以访问dom元素
beforeUpdate在数据更新之前调用,发生在虚拟DOM重新渲染和打补丁之前。可以在该钩子中进一步地更改状态,不会触发附加的重渲染过程更新前,可用于获取更新前各种状态数据
updated在由于数据更改导致的虚拟DOM重新渲染和打补丁之后调用。调用时,组件DOM已经更新,所以可以执行依赖于DOM的操作。然而在大多数情况下,应该避免在此期间更改状态,因为这可能会导致更新无限循环。该钩子在服务器端渲染期间不被调用更新后执行该钩子函数,所有的状态数据是最新的。
activatedkeep-alive 组件激活时调用
deactivatedkeep-alive 组件停用时调用
beforeDestroy在实例销毁之前调用。实例仍然完全可用销毁前执行,可以用于一些定时器的清除。
destroyed在实例销毁之后调用。调用后,所有的事件监听器会被移除,所有的子实例也会被销毁。该钩子在服务器端渲染期间不被调用组件已经销毁,事件监听器被移除,所有的子实例也会被销毁。