2023-01-05 对vue生命周期的理解,父组件和子组件生命周期钩子执行顺序,第一次页面加载会触发哪几个钩子,vue获取数据在一般在哪个周期函数

本文探讨了Vue实例的生命周期,包括8个主要阶段,如beforeCreate、created、beforeMount、mounted等,并详细解释了各个阶段的特点和作用。特别强调了在created和mounted钩子中获取数据的时机。此外,还解析了父组件与子组件生命周期钩子的执行顺序,以及在实际应用中的考虑点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0.什么是vue的生命周期?有什么作用?

每个vue实例在被创建时都要经过一系列的初始化过程,在此过程中会运行叫做生命周期钩子的函数,可以让用户在不同阶段添加自己的代码

1.对vue生命周期的理解?

vue的生命周期分为8个阶段:创建前后,挂载前后,更新前后,销毁前后

  • 创建前后
    beforeCreate阶段:vue实例的挂载元素$el和数据对象data都为undefined,还没有初始化
    created阶段:vue实例对象data有了,$el还没有
    总结:beforeCreate阶段中$el和data都是undefined,created阶段中data已经初始化完成但$el还没有
  • 挂载前后
    beforeMount阶段:vue实例的$el和data都初始化完成,但是还没有挂载为真实DOM(还是虚拟DOM节点),data message还没替换
    mounted阶段:vue实例挂载为真实DOM,data message成功渲染
    总结:beforeMount阶段data和$el初始化完毕但还没有挂载成真实DOM,mounted阶段vue实例挂载完成
  • 更新前后
    当data发生变化时,会触发beforeUpdate和updated方法
  • 销毁前后
    当执行destroy方法后,对data的改变不会再触发生命周期函数,说明此时vue实例已经解除了事件监听和对DOM的绑定(但DOM结构依然存在)
2.第一次页面加载会触发哪几个钩子?

beforeCreate, created, beforeMount, mounted

3.vue获取数据在一般在哪个周期函数?

created,beforeMount,mounted

4.created和mounted的区别?

created:在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。
mounted:在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作

5.父组件和子组件生命周期钩子执行顺序是什么?(面试题)
  • 加载渲染过程
父 beforeCreate -> 父 created -> 父 beforeMount -> 
子 beforeCreate -> 子 created -> 子 beforeMount -> 
子 mounted -> 父 mounted
  • 子组件更新过程
父 beforeUpdate -> 子 beforeUpdate -> 子 updated -> 父 updated
  • 父组件更新过程
父 beforeUpdate -> 父 updated
  • 销毁过程
父 beforeDestroy -> 子 beforeDestroy -> 子 destroyed -> 父 destroyed
6.示例
<!DOCTYPE html>
<html lang="en">
<head
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前端OnTheRun

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值