生命周期
beforeCreate // 在实例初始化之前
created // 在实例创建完成后被立即调用, data,computed,methods,watch 已可用, dom (ref)不可用
beforeMount // 挂载实例开始之前
mounted // 挂载实例之后 (dom节点已经建好), dom (ref)已可用
beforeUpdata // 数据更新之前,发生在虚拟 DOM 打补丁之前。这里适合在更新之前访问现有的 DOM,比如手动移除已添加的事件监听器。
updated // 组件 DOM 已经更新
beforeDestory // 实例销毁之前,在这一步,vue 实例仍然完全可用。
destoryed // 实例销毁之后,Vue 实例指示的所有东西都会解绑定
生命周期钩子详细介绍
所有的生命周期钩子自动绑定 this 上下文到实例中,因此你可以访问数据,对属性和方法进行运算
这意味着你不能使用箭头函数来定义一个生命周期方法 (例如 created: () => this.fetchTodos())
这是因为箭头函数绑定了父上下文,因此 this 与你期待的 Vue 实例不同,this.fetchTodos 的行为未定义
beforeCreate
在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用
created
在实例创建完成后被立即调用。然而,挂载阶段还没开始,$el 属性目前不可见
beforeMount
在挂载开始之前被调用:相关的 render 函数首次被调用
mounted
el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子
beforeUpdate
数据更新时调用,发生在虚拟 DOM 打补丁之前。这里适合在更新之前访问现有的 DOM,比如手动移除已添加的事件监听器
updated
由于数据更改导致的虚拟 DOM 重新渲染和打补丁,在这之后会调用该钩子
activated
keep-alive 组件激活时调用
deactivated
keep-alive 组件停用时调用
beforeDestory
实例销毁之前调用。在这一步,实例仍然完全可用
destroyed
Vue 实例销毁后调用。调用后,Vue 实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。
errorCaptured
当捕获一个来自子孙组件的错误时被调用。
此钩子会收到三个参数:错误对象、发生错误的组件实例以及一个包含错误来源信息的字符串
(err: Error, vm: Component, info: string) => ?boolean
网友评论