当前位置: 首页 > news >正文

vue2、vue3生命周期详解以及对比

文章目录

  • 对比vue2-vue3
  • vue3生命周期
    • 生命周期的主要阶段
    • 详情
  • vue2 生命周期
    • 生命周期钩子函数 总共11个 常用的8个
    • 按照这四个阶段我们对应有八个生命周期钩子函数
    • vue生命周期使用场景

对比vue2-vue3

如果熟悉vue2的话,vue3信手拈来,看图

在这里插入图片描述

vue3生命周期

onMounted()
onUpdated()
onUnmounted()
onBeforeMount()
onBeforeUpdate()
onBeforeUnmount()
onErrorCaptured()
onRenderTracked()
onRenderTriggered()
onActivated()
onDeactivated()
onServerPrefetch()

下面借用官网的一张图介绍vue3 的生命周期,应该会更加详细把
在这里插入图片描述
在这里插入图片描述

生命周期的主要阶段

创建 ---- 在组建创建时执行
挂载 ---- DOM被挂载时执行
更新 ---- 当响应数据被修改时执行
销毁 ---- 在元素被销毁之前立即执行

详情

  • beforecreate和created被setup方法本身所替代,我们在在setup中将会访问到9个生命周期:
  • onBeforeMount:在挂载之前被调用,渲染函数render首次被调用
  • onMounted:组件挂载时调用
  • onBeforeUpdate:数据更新时调用,发生在虚拟DOM打补丁之前。
  • onUpdated:因数据更改导致的虚拟DOM重新渲染和打补丁时调用
  • onBeforeUnmount:在卸载组件实例之前调用,此阶段的实例依旧是正常的。
  • onActivated:被keep-alive缓存的组件激活时调用
  • onDeactivated:被keep-alive缓存的组件停用时调用
  • onErrorCaptured:当捕获一个来自子孙组件的错误时被调用,有三个参数:错误对象、发生错误的组件实例、一个包含错误来源信息的字符串;此钩子会返回false来阻止改错误继续向上传播。

vue2 生命周期

生命周期钩子函数 总共11个 常用的8个

vue生命周期分为四个阶段 分别为:
create 创建
mount 挂载
update 更新
destroy 销毁

按照这四个阶段我们对应有八个生命周期钩子函数

beforeCreate 创建前
created 创建后
beforemount 挂载前
mounted 挂载后
beforeUpdate 更新前
updated 更新后
beforeDestroy 销毁前
destroyed 销毁后

这八个生命周期代表组件从创建到销毁一个过程
除了以上八个生命周期之外 还有三个生命周期 deactivated activated errorCaptured (这三个声明周期不常用)

        vue每一个组件都有一个独立的生命周期vue生命周期 跟代码编写的先后顺序没有关系组件销毁两种形式可以被调用 $destroyv-ifvue生命周期钩子函数种 beforeCreate(创建前) 是拿不到data中的数据

eg:可以运行一下查看执行顺序

 <script>Vue.component('child', {data() {return {num: 100}},template: `<div class="child">child组件--{{num}}<button @click="change">修改数据</button>    </div>`,methods: {change() {this.num=900}},beforeCreate() {console.log('子组件创建前') },created() {console.log('子组件创建后')},beforeMount() {console.log('子组件挂载前')},mounted() {console.log('子组件挂载后')},beforeUpdate() {console.log('子组件更新前')},updated() {console.log('子组件更新后')},beforeDestroy() {console.log('子组件销毁前')},destroyed() {console.log('子组件销毁后')}})var app=new Vue({el: "#app",data: {msg: 'hello',show: true},beforeCreate() {console.log('app组件创建前', this.msg) },created() {console.log('app组件创建后', this.msg)},beforeMount() {console.log('app组件挂载前')},mounted() {console.log('app组件挂载后')},beforeUpdate() {console.log('app组件更新前')},updated() {console.log('app组件更新后')},beforeDestroy() {console.log('app组件销毁前',this.msg)},destroyed() {console.log('app组件销毁后',this.msg)}})</script>

vue生命周期使用场景

        1 请求数据(created  mounted)vue中一般使用的axios2 销毁方法函数(定时器)destroyed3 进行组件之间的传值created 

相关文章:

vue2、vue3生命周期详解以及对比

文章目录 对比vue2-vue3vue3生命周期生命周期的主要阶段详情 vue2 生命周期生命周期钩子函数 总共11个 常用的8个按照这四个阶段我们对应有八个生命周期钩子函数vue生命周期使用场景 对比vue2-vue3 如果熟悉vue2的话&#xff0c;vue3信手拈来&#xff0c;看图 vue3生命周期 on…...

JSON动态生成表格

<!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><body><script>var fromjava"{\"total\":3,\"students\":[{\"name\":\"张三\",\&q…...

C# Winform中使用SendMessage方法(发送消息与接收消息)

C# Winform窗口间消息通知&#xff0c;使用Windows API SendMessage方法跨进程实现消息发送&#xff0c;重写WndProc方法接收消息并消息处理 主要使用到如下三个方法函数&#xff1a; WndProc&#xff1a;主要用在拦截并处理系统消息和自定义消息 可以重写WndProc函数&#xf…...

Netty各组件基本用法、入站和出站详情、群聊系统的实现、粘包和拆包

Netty Bootstrap和ServerBootstrapFuture和ChannelFutureChannelSelectorNioEventLoop和NioEventLoopGroupByteBuf示例代码 Channel相关组件入站详情出站详情对象编解码ProtoBuf和ProtoStuffnetty实现群聊系统粘包和拆包TCP协议特点举个例子 Bootstrap和ServerBootstrap Boots…...

Day03-作业(AxiosElementUI)

作业1&#xff1a; 根据需求完成如下页面数据列表展示 需求&#xff1a;Vue挂载完成后,通过axios发送异步请求到服务端,获取学生列表数据,并通过Vue展示在页面上 获取数据url&#xff1a;http://yapi.smart-xwork.cn/mock/169327/student 素材&#xff1a; <!DOCTYPE html…...

低代码开发平台源码:基于模型驱动,内置功能强大的建模引擎,零代码也能快速创建智能化、移动化的企业应用程序

管理后台低代码PaaS平台是一款基于 Salesforce Platform 的开源替代方案&#xff0c;旨在为企业提供高效、灵活、易于使用的低代码开发平台。低代码PaaS平台的10大核心引擎功能:1.建模引擎 2.移动引擎 3.流程引擎 4.页面引擎 5.报表引擎 6.安全引擎 7.API引擎 8.应用集成引擎 9…...

下载JMeter的历史版本——个人推荐5.2.1版本

官网地址&#xff1a;https://archive.apache.org/dist/jmeter/binaries/...

2023-07-30 LeetCode每日一题(环形链表 II)

2023-07-30每日一题 一、题目编号 142. 环形链表 II二、题目链接 点击跳转到题目位置 三、题目描述 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 n…...

设计模式——简单工厂模式

1 概述 将创造对象的工作交给一个单独的类来实现 &#xff0c;这个单独的类就是工厂。 2 实现 假设要做一个计算器的需求&#xff0c;通常我们想到的是这样写&#xff1a; package com.example.easyfactory;import java.util.Scanner;public class Demo1 {public static vo…...

AnimatedVectorDrawable矢量图动画的使用和修改

文章目录 一、前言二、一个矢量图文件三、参考链接 一、前言 矢量可绘制对象可以提供比较复杂的动画效果&#xff0c;只是绘制比较复杂&#xff0c;这里可以让UI使用Adobe After Effects软件制作出相关的矢量图xml文件交由开发使用。只是如果需要重复播放的动画效果时候&#…...

【C++】—— 多态的基本介绍

前言&#xff1a; 在之前的学习过程中&#xff0c;我们已经对继承进行了详细的学习和了解。今天&#xff0c;我将带领大家学习的是关于 多态 的基本知识。 目录 &#xff08;一&#xff09;多态的概念 1、概念 &#xff08;二&#xff09;多态的定义及实现 1、多态的构成条…...

一文详解:自动化测试工具——Selenium

前言 Selenium是一个用于Web应用程序测试的工具。是一个开源的Web的自动化测试工具&#xff0c;最初是为网站自动化测试而开发的&#xff0c;类型像我们玩游戏用的按键精灵&#xff0c;可以按指定的命令自动操作&#xff0c;不同是Selenium可以直接运行在浏览器上&#xff0c;…...

[模版总结] - 集合划分类DFS模版

题目描述 给定一个数组&#xff0c;给定一个数字k, 问能不能讲数组内数等分成k份&#xff0c;使得每一个集合中数和相等。 题目链接 下面两道题问题及其类似&#xff0c;可作为同一类题目思考 Leetcode 698 Leetcode 473 题目思路 这道题是一道经典集合划分类问题&#…...

JavaScript中复制新的数组与原数组删除某个值——不影响新复制的数组的方法详解

系列文章目录 文章目录 系列文章目录前言一、使用slice()方法复制数组二、使用concat()方法复制数组三、使用扩展运算符(...)复制数组总结 前言 在JavaScript中&#xff0c;我们经常需要处理数组的复制和修改。本文将详细介绍如何在JavaScript中复制一个新的数组&#xff0c;并…...

easyui主表子表维护页面

easyui主表子表维护页面 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><title>Title</title><!-- <#include "common.html"/> --><link rel"stylesheet" type&quo…...

k8s exam

Pause 容器是 Pod 中的第一个启动的容器&#xff0c;其他所有的用户容器都是其子进程当 Pod 被从节点中删除时&#xff0c;与之关联的 emptyDir 中的数据也将被永久删除。持久存储用PV&#xff0c;PVCService 资源定义了如何访问应用&#xff0c;但实际的网络流量管理和路由是由…...

C#,中国福利彩票《刮刮乐》的数学算法(02)——时来运转

1 中国福利彩票 中国福利彩票始于1987年7月27日&#xff0c;以“团结各界热心社会福利事业的人士&#xff0c;发扬社会主义人道主义精神&#xff0c;筹集社会福利资金&#xff0c;兴办残疾人、老年人、孤儿福利事业和帮助有困难的人”、即“扶老、助残、救孤、济困”为宗旨。随…...

我的观影记录表【个人向】

目录 前言电影评分标准闪电侠&#xff08;2023&#xff09;银河护卫队3&#xff08;2023&#xff09; 前言 这里是我本人的观影记录&#xff0c;这个想法2年前就有了&#xff0c;但是一直比较懒&#xff0c;现在&#xff08;上班摸鱼&#xff09;准备重新开始&#xff0c;评价…...

网络安全策略应包含哪些?

网络安全策略是保护组织免受网络威胁的关键措施。良好的网络安全策略可以确保数据和系统的保密性、完整性和可用性。以下是一个典型的网络安全策略应包含的几个重要方面&#xff1a; 1. 强化密码策略&#xff1a;采用强密码&#xff0c;要求定期更换密码&#xff0c;并使用多因…...

【Git】Git GitHub

1. Git1.1 Git基本操作1.2 Git版本回退1.3 Git分支操作 2. Git 配合GitHub2.1 生成密钥2.2 GitHub添加公钥2.3 Git连接GitHub2.4 本地仓库关联远程仓库2.5 本地代码push远程仓库2.6 本地clone远程仓库2.7 本地fetch和pull 1. Git 1.1 Git基本操作 touch test.py 工作区创建文…...

3步学会使用Tinke:免费NDS游戏资源提取与修改终极指南

3步学会使用Tinke&#xff1a;免费NDS游戏资源提取与修改终极指南 【免费下载链接】tinke Viewer and editor for files of NDS games 项目地址: https://gitcode.com/gh_mirrors/ti/tinke 你是否曾经想过提取NDS游戏中的精美图片、动听音乐&#xff0c;或者修改游戏文本…...

手把手教你用MPU6050和nRF52832做手环计步:避开数据读取卡死的坑

手把手教你用MPU6050和nRF52832实现稳定计步&#xff1a;从硬件调试到算法优化全攻略 在可穿戴设备开发中&#xff0c;计步功能看似基础却暗藏玄机。许多开发者在使用MPU6050加速度传感器搭配nRF52832主控时&#xff0c;都会遇到一个令人头疼的问题——系统运行一段时间后莫名卡…...

AI编码工作流:工程化实践框架与团队效能提升

1. 项目概述&#xff1a;从“AI编码工作流”说起最近在GitHub上看到一个挺有意思的项目&#xff0c;叫nicksp/ai-coding-workflow。光看这个名字&#xff0c;可能很多朋友会想&#xff0c;这不就是又一个教你怎么用ChatGPT或者Copilot写代码的教程吗&#xff1f;说实话&#xf…...

构建多模型备选策略以提升AI应用服务稳定性

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 构建多模型备选策略以提升AI应用服务稳定性 在将大模型能力集成到生产应用时&#xff0c;服务可用性是核心考量之一。依赖单一模型…...

从理论到实践:Ceres、G2O与GTSAM在位姿图优化中的核心实现与对比

1. 位姿图优化&#xff1a;从理论到代码的完整视角 想象你正在搭建一个室内扫地机器人&#xff0c;它需要同时完成两件事&#xff1a;构建房间地图&#xff08;Mapping&#xff09;和确定自身位置&#xff08;Localization&#xff09;。这就是典型的SLAM问题。而位姿图优化&am…...

解锁B站高清与会员视频:基于you-get与EditThisCookie的自动化下载方案

1. 为什么需要you-get与EditThisCookie组合方案 每次在B站看到喜欢的视频想保存下来&#xff0c;你是不是也遇到过这样的烦恼&#xff1f;用普通下载工具要么画质模糊得像打了马赛克&#xff0c;要么遇到会员专属内容直接提示"无权限"。作为常年混迹技术社区的老司机…...

Motorola LS2208条码扫描器USB接口模式解析与Python数据采集实战

1. 项目概述&#xff1a;从“扫码枪”到数据采集终端在仓库、快递站或者超市收银台&#xff0c;我们每天都能看到工作人员拿着一个像手枪一样的东西&#xff0c;“嘀”一声&#xff0c;商品信息就录入了系统。这个设备就是条码扫描器&#xff0c;很多人习惯叫它“扫码枪”。你可…...

跨越系统边界:在Windows上体验Btrfs文件系统的5个关键优势

跨越系统边界&#xff1a;在Windows上体验Btrfs文件系统的5个关键优势 【免费下载链接】btrfs WinBtrfs - an open-source btrfs driver for Windows 项目地址: https://gitcode.com/gh_mirrors/bt/btrfs 当谈到高级文件系统时&#xff0c;Linux用户早已熟悉Btrfs的强大…...

Cursor3.3发布:Skill 自动转为快捷操作

想象一下&#xff1a;每次发版之前&#xff0c;你盯着一个庞大PR&#xff0c;脑子里同时跑着十几个线程——这个模块要重构、那个API要优化、还有安全扫描不能忘。以前你得像个孤独的指挥家&#xff0c;一根根指挥棒轮流挥。 现在&#xff0c;Cursor直接给你拉来一支AI交响乐团…...

吃透护网面试!HVV 行动全套面试题目及答案,网安新人入门进阶必备

本文全面整理网络安全面试题&#xff0c;涵盖HVV、OWASP Top 10漏洞原理与修复方法。详细讲解内网渗透技术、权限维持方法、Windows/Linux系统提权技巧&#xff0c;以及渗透测试流程和应急响应策略。还包含红蓝对抗概念、漏洞挖掘经验、常见中间件漏洞和安全基础知识&#xff0…...