12. 生命周期钩子

Kesa...大约 1 分钟

12. 生命周期钩子

每个 Vue 组件实例在创建时都需要经历一系列的初始化步骤,在此过程中,它会运行被称为生命周期钩子的函数,让开发者有机会在特定阶段运行自己的代码。

组件生命周期图示
组件生命周期图示

12.1 注册周期钩子

onMounted 钩子可以用来在组件完成初始渲染并创建 DOM 节点后运行代码:

<script setup>
import { onMounted } from 'vue'

onMounted(() => {
  console.log(`the component is now mounted.`)
})
</script>

还有其他一些钩子,会在实例生命周期的不同阶段被调用,最常用的是 onMountedopen in new windowonUpdatedopen in new windowonUnmountedopen in new window。所有生命周期钩子的完整参考及其用法请参考 API 索引open in new window

当调用 onMounted 时,Vue 会自动将回调函数注册到当前正被初始化的组件实例上。这意味着这些钩子应当在组件初始化时被同步注册。例如,请不要这样做:

setTimeout(() => {
  onMounted(() => {
    // 异步注册时当前组件实例已丢失
    // 这将不会正常工作
  })
}, 100)

注意这并不意味着对 onMounted 的调用必须放在 setup()<script setup> 内的词法上下文中。onMounted() 也可以在一个外部函数中调用,只要调用栈是同步的,且最终起源自 setup() 就可以。

上次编辑于:
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.2