深入理解前端生命周期函数:从创建到销毁的全过程解析

        在前端开发中,生命周期函数是指在组件创建、更新、销毁等阶段触发的一系列函数。这些函数可以帮助开发者在不同的阶段进行必要的操作,比如初始化数据、监听事件、处理异步请求等。下面我简要介绍一下前端生命周期函数的内容:

  1. 创建阶段

    • beforeCreate: 在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之前被调用。
    • created: 实例已经创建完成之后被调用。在这一步,实例已完成数据观测,属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el 属性目前不可见。
  2. 挂载阶段

    • beforeMount: 在挂载开始之前被调用:相关的 render 函数首次被调用。
    • mounted: el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用该钩子。
  3. 更新阶段

    • beforeUpdate: 数据更新时调用,发生在虚拟 DOM 重新渲染和打补丁之前。
    • updated: 由于数据更改导致的虚拟 DOM 重新渲染和打补丁后调用。
  4. 销毁阶段

    • beforeDestroy: 在实例销毁之前调用。在这一步,实例仍然完全可用。
    • destroyed: 在实例销毁之后调用。调用后,所有的事件监听器会被移除,所有的子实例也会被销毁。

       生命周期函数在不同的阶段执行不同的任务,开发者可以根据实际需求来选择合适的生命周期函数进行操作。例如,在created阶段可以进行数据初始化和异步请求操作,在mounted阶段可以进行 DOM 操作等。合理利用生命周期函数可以提高代码的可维护性和可扩展性,更好地管理组件的生命周期。

总结一下
beforeCreate created beforeMount mounted beforeDestroy destoryed这些钩子都只执行一次;

beforeUpdate updated第一次构建不会调用,以后每次data被更新了就会调用;

beforeDestroy destroyed 销毁的方式有两种:用户关闭和代码this.$destroy()//销毁vm实例。

只有beforeUpdate updated运行时不能做网络请求;

我们一般把网络请求放在created或者mounted中,具体的根具业务需求来;

放在created:因为有时候我们希望异步的网络请求和vm的挂载同时进行 体现出CPU多核的优势 放在mounted:因为有时候我们希望本地的UI骨架已经加载完毕以后再去请求数据刷新UI

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值