Vue-组件实例的生命周期

news/2025/2/8 14:51:20/文章来源:https://www.cnblogs.com/khrushchefox/p/18704286

组件实例的生命周期

  1. 创建组件实例:当使用new Vue()或通过模板解析创建一个组件时,Vue首先会创建一个组件的实例。

  2. 初始化阶段

    Vue3中setup()取代了beforeCreatecreated

    1. 初始化事件和生命周期:在组件实例创建之后,Vue会初始化事件和生命周期相关的属性。
    2. beforeCreate 钩子:这是组件生命周期中的第一个钩子函数,在这个阶段,组件实例刚刚被创建,数据观测和事件/侦听器的配置尚未开始。
    3. created 钩子:在这个阶段,组件实例已经完成数据观测、属性和方法的运算,datacomputedwatchmethods 等已经设置好了,但是DOM结构还未生成。
    4. 模板编译:Vue会编译模板(template)或渲染函数(render function),生成虚拟节点(VNode)树,即虚拟DOM。这个过程在created钩子之后发生,但在挂载之前。
  3. 挂载阶段

    1. onBeforeMount 钩子:在挂载开始之前被调用,此时模板已经编译完成,但是还没有将数据渲染到页面上,因此此时访问DOM结构会得到原始的模板字符串。
    2. 挂载(Mounting):这是组件的挂载阶段的核心,Vue将虚拟DOM转换为真实DOM,并将其插入到页面中。这个过程中,Vue会根据数据的变化来更新DOM。
    3. onMounted 钩子:在组件挂载之后调用,此时组件已经完全渲染到页面上,可以访问到DOM元素,是进行DOM操作、数据请求等操作的好时机。
  4. 更新阶段

    当组件的数据发生变化时,会触发更新过程。

    1. onBeforeUpdate 钩子:数据更新之前调用,此时虚拟DOM还未更新。
    2. 更新过程:Vue会根据数据的变化重新渲染虚拟DOM,并与旧的虚拟DOM进行比较,以确定需要对真实DOM进行的更改。
    3. onUpdated 钩子:在由于数据变更导致的虚拟DOM重新渲染和打补丁之后调用。
  5. 销毁阶段

    1. onBeforeUnmount 钩子:在组件实例被销毁之前调用,此时实例仍然完全可用。
    2. 卸载过程:组件实例从DOM中移除,所有的事件监听器被移除,所有的子组件也都会被销毁。
    3. onUnmounted 钩子:在组件实例被销毁之后调用,调用此钩子时,组件实例指示的所有东西都会解绑定,所有的事件监听器会被移除,所有的子实例也会被销毁。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/880822.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

锚索测力计长期预应力 水电、铁路、公路、矿山、国防、建筑安全监测

锚索测力计长期预应力 水电、铁路、公路、矿山、国防、建筑安全监测精准稳定的振弦式传感器,GEO ACxxxx型振弦式锚索测力计,是长期监测预应力锚索压力的最佳选择。该传感器采用特制的应变计作为传感部件,无需温度修正,可提供准确可靠的测值。适用于预应力锚索的岩体或建筑物…

vs调试.net应用,一运行断点就无法命中,未加载任何符号

原因:没有加载pdb文件导致 解决:右键程序集 -> 属性 -> 生成 -> 常规 -> 调试符号 由"无"改为"PDB文件,可跨平台移植" 再次运行,断点正常命中

Java教程_002

final关键字 final 关键字是最终的意思,可以修饰(类、方法、变量) 修饰类:该类被称为最终类,特点是不能被继承了。 修饰方法:该方法被称为最终方法,特点是不能被重写了。 修饰变量:该变量只能被赋值一次。 final修饰的变量必须赋值,要么在定义时赋值,要么在构造器中赋…

Java教程_003

集合进阶 集合容器中只能存放对象,基本数据类型需要使用对应的包装类 Collection单列集合 collection集合体系 collection常用方法package com.itheima.d1_collection;import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.…

2020-2025 WebStorm安装+激活

一、下载 1. webstorm各版本官方下载入口 官网下载地址 2. 选择左边,然后点击【20xx.x.x-Windows(exe)】 PS: 如需下载特定版本,可以往下拉,都是选择【202x.x-Windows(exe)】下载二、安装 1. 点击运行 ps: 安全警告是部分电脑有,没有跳过就可以了~2. 点击下一步3. 选择安…

Nacos基于MySQL作为数据源实战案例

作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任。 目录一 Nacos支持MySQL作为数据源1.Nacos支持MySQL作为数据源的起始版本2.Nacos基于MySQL数据存储流程说明二.Nacos基于MySQL作为数据源实战案例1.部署MySQL服务2.创建授权用户3.导入Nacos的表结构4.修改Naco…

C++封装静态链接库和使用 -转自 CSDN 零碎记事

C++封装静态链接库和使用 转自 CSDN 零碎记事距离上次发博客已经有一年半了,转眼间我也是从做图像研究到了做游戏开发,说起来看看前面的博文,本来就有前兆的东西呢(笑)......因为主要还是在使用虚幻引擎,所以C++的东西会碰到多一些。以后程序技术方面的文章就放博客,游…

datagrip2024如何安装?附安装包和激活方式

前言 大家好,我是小徐啊。datagrip是Jetbrain推出的一款数据库连接工具。非常实用,功能十分强大。今天,小徐就来介绍下如何安装和激活。文末附获取方式。 如何安装和激活datagrip 首先,我们需要双击打开datagrip,点击下运行按钮。然后,我们需要点击下下一步按钮。然后,我…

【6】线段树学习笔记

前言 太菜了,现在才写线段树的学习笔记。 由于线段树学习历时较长(大约 \(1\) 年),码风可能会严重不协调。以后我的线段树码风以线段树讲解板块为准。 长文警告:本文一共 \(1465\) 行,请合理安排阅读时间。 线段树 线段树是一种基于分治思想的二叉树结构,用于统计区间信息…

Real-time Scalable Dense Surfel Mapping 论文阅读

英文题目 Real-time Scalable Dense Surfel Mapping中文名称 实时可扩展密集表面建图发表时间 2019年9月10日平台 ICRA 2019作者 Kaixuan Wang, Fei Gao and Shaojie Shen邮箱 {kwangap, fgaoaa, eeshaojie}@ust.hk来源 HKUST Aerial Robotics Group关键词 实时稠密建图paper &…

【7】Tarjan学习笔记

前言 WFLS 暑假集训 Day 5 Day 6 Day 8 Day 9 Tarjan 是个巨佬,快来膜拜他 orz。 长文警告:本文一共 \(1092\) 行,请合理安排阅读时间。 强连通分量 强连通分量针对有向图,本篇目内图指有向图。 定义 强连通:如果一个图中任意两点可以相互到达,那么称这个图为强连通的。 …