Sam9029 2022-08-23 18:01 采纳率: 62.5%
浏览 59
已结题

Vue 的生命周期 钩子函数 是 异步的吗?

Vue 的生命周期 钩子函数 是 异步的吗?

今天调用 钩子函数 (onBeforeMount) 时 在里面用 log(53行) 输出内容,同时在后面也用 log (56行,此不在钩子函数内)输出 ,后面的log竟然比 钩子函数 中的 log 先输出了
let originEventData = []

// 调用 生命周期函数
onBeforeMount(()=>{
  originEventData = getEventData()
  console.log('onBeforeMount',originEventData)  //53行 
})

console.log(originEventData,currentEventData) //56行
输出结果

为什么 是 56行先输出了呢?

img

  • 写回答

2条回答 默认 最新

  • 雾里桃花 2022-08-23 18:31
    关注

    钩子函数不是异步,每个钩子函数都有它执行的顺序,例如vue2中有 created钩子,它是在vue实例化之后运行的,mounted是在dom挂载后运行的,在两个函数中同时输出一个log,不管你的mounted放到哪里都是created先执行
    同理vue3移除了created钩子,在step中的操作就相当于vue2的created了,所以你的56行会比53行先执行,因为这是vue钩子函数的执行机制

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月31日
  • 已采纳回答 8月23日
  • 创建了问题 8月23日