生命周期钩子

43 阅读2分钟

beforeCreate和create

这两个已经被删除了

onBeforeMount

在组件被挂载之前被调用

当这个钩子被调用时,组件已经完成了其响应式状态的设置,但还没有创建 DOM 节点。它即将首次执行 DOM 渲染过程。

onMounted

组件挂载完成钩子

组件在以下情况下被视为已挂载:

  • 其所有同步子组件都已经被挂载 (不包含异步组件或 树内的组件)。
  • 其自身的 DOM 树已经创建完成并插入了父容器中。注意仅当根容器在文档中时,才可以保证组件 DOM 树也在文档中。

onBeforeUpdate

响应式状态变更而更新其 DOM 树之前

这个钩子可以用来在 Vue 更新 DOM 之前访问 DOM 状态。在这个钩子中更改状态也是安全的。

onUpdated

响应式状态变更而更新其 DOM 树之后

父组件的更新钩子将在其子组件的更新钩子之后调用

onBeforeUnmount

组件实例被卸载之前调用

当这个钩子被调用时,组件实例依然还保有全部的功能。

onUnmounted

组件实例被卸载

一个组件在以下情况下被视为已卸载:

  • 其所有子组件都已经被卸载。
  • 所有相关的响应式作用 (渲染作用以及 setup() 时创建的计算属性和侦听器) 都已经停止。

onErrorCaptured

捕获了后代组件传递的错误时调用

错误可以从以下几个来源中捕获:

  • 组件渲染
  • 事件处理器
  • 生命周期钩子
  • setup() 函数
  • 侦听器
  • 自定义指令钩子
  • 过渡钩子

onActivated

若组件实例是 缓存树的一部分,当组件被插入到 DOM 中时调用

onDeactivated

若组件实例是 缓存树的一部分,当组件从 DOM 中被移除时调用。

onServerPrefetch

在组件实例在服务器上被渲染之前调用。

钩子返回了一个 Promise,服务端渲染会在渲染该组件前等待该 Promise 完成.