vue3生命周期

原理

请添加图片描述
vue3也提供了Composition API形式的生命周期钩子,与vue2.x中钩子对应关系如下:
beforeCreate =setup()
created =setup()
beforeMount
=onBeforeMount
mounted
onMounted
beforeUpdateonBeforeUpdate
updated
onUpdated
beforeUnmount
onBeforeUnmount
unmounted
===onUnmounted

示例:生命周期

HomeView.vue

<template><div ref="showDiv" v-text="username"></div><button @click="changeTitle">更新数据</button>
</template><script lang="ts" setup>
import {ref,onBeforeMount,onMounted,onBeforeUpdate,onUpdated,onBeforeUnmount,onUnmounted,
} from "vue";//获取页面组件
const showDiv = ref();const username = ref("张三");
//修改名称
const changeTitle = () => {username.value = "zhangsan";
};console.log("setup:开始创建组件之前,在beforeCreate和created之前执行");onBeforeMount(() => {console.log("onBeforeMount:组件挂载到节点上之前执行",showDiv.value?.innerText);
});
onMounted(() => {console.log("onMounted:组件挂载到节点上之后执行", showDiv.value?.innerText);
});onBeforeUpdate(() => {console.log("onBeforeUpdate:组件更新之前执行", showDiv.value?.innerText);
});
onUpdated(() => {console.log("onUpdated:组件更新完成之后执行", showDiv.value?.innerText);
});onBeforeUnmount(() => {console.log("onBeforeUnmount:组件卸载之前执行", showDiv.value?.innerText);
});
onUnmounted(() => {console.log("onUnmounted:组件卸载完成之后执行", showDiv.value?.innerText);
});
</script>

App.vue

<template><div><HomeView v-if="isDestroy" ></HomeView><button @click="destroyShowDiv">用v-if模拟组件销毁的过程</button></div><!-- <router-view /> -->
</template><script setup lang="ts">
import { ref } from "vue";
import HomeView from './views/HomeView.vue';const isDestroy = ref(true);
//用v-if模拟组件销毁的过程
const destroyShowDiv = () => {isDestroy.value = false;
};
</script>

结果:

在这里插入图片描述

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

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

相关文章

【华为OD机试】单词重量【2023 B卷|100分】

【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 每个句子由多个单词组成,句子中的每个单词的长度都可能不一样, 我们假设每个单词的长度Ni为该单词的重量,你需要做的就是给出整个句子的平均重量V。 输入描述 无 输出描述 无 样例1…

docker的安装与基础使用

一.docker简介 1&#xff09;什么是docker Docker是一种用于构建、打包和运行应用程序的开源平台。它基于操作系统级虚拟化技术&#xff0c;可以将应用程序和其依赖的库、环境等资源打包到一个可移植的容器中&#xff0c;形成一个轻量级、独立的可执行单元。 开发者在本地编…

MySQL流程控制

流程控制 顺序结构&#xff1a; 程序从上往下依次执行分支结构&#xff1a; 程序按条件进行选择执行&#xff0c;从两条或多条路径中选择一条执行。循环结构&#xff1a; 程序满足一定条件下&#xff0c;重复执行一组语句 针对于MySQL的流程控制语句主要有3类。注意&#xff…

Vulnhub系列靶机--- Hackadmeic.RTB1

系列&#xff1a;Hackademic&#xff08;此系列共2台&#xff09; 难度&#xff1a;初级 信息收集 主机发现 netdiscover -r 192.168.80.0/24端口扫描 nmap -A -p- 192.168.80.143访问80端口 使用指纹识别插件查看是WordPress 根据首页显示的内容&#xff0c;点击target 点击…

解决uniapp 二次登陆 登录页是首页时,登录页闪现问题

pages.json文件中&#xff0c;pages数组中第一项是登录页&#xff0c;用户第一次登录后&#xff0c;存储登录状态&#xff0c;以后再进入应用时&#xff0c;自动登录跳转至首页。 但是自动登录跳转至首页时&#xff0c;登录页总是会闪现一下。 第一步&#xff1a;manifest.js…

Python包sklearn画ROC曲线和PR曲线

前言 关于ROC和PR曲线的介绍请参考&#xff1a; 机器学习&#xff1a;准确率(Precision)、召回率(Recall)、F值(F-Measure)、ROC曲线、PR曲线 参考&#xff1a; Python下使用sklearn绘制ROC曲线&#xff08;超详细&#xff09; Python绘图|Python绘制ROC曲线和PR曲线 源码 …

webshell绕过

文章目录 webshell前置知识进阶绕过 webshell 前置知识 <?phpecho "A"^""; ?>运行结果 可以看到出来的结果是字符“&#xff01;”。 为什么会得到这个结果&#xff1f;是因为代码的“A”字符与“”字符产生了异或。 php中&#xff0c;两个变…

线程池原理

一、线程池的定义 线程池&#xff0c;按照配置参数&#xff08;核心线程数、最大线程数等&#xff09;创建并管理若干线程对象&#xff0c;没有任务的时候&#xff0c;这些线程都处于等待空闲状态。如果有新的线程任务&#xff0c;就分配一个空闲线程执行。如果所有线程都处于…

opencv进阶03-图像与鼠标的交互示例

在处理图像时&#xff0c;可能需要与当前正在处理的图像进行交互。OpenCV 提供了鼠标事件&#xff0c;使用户可以通过鼠标与图像交互。鼠标事件能够识别常用的鼠标操作&#xff0c;例如&#xff1a;针对不同按键的单击、双击&#xff0c;鼠标的滑动、拖曳等。 例如&#xff0c;…

【广州华锐视点】VR线上教学资源平台提供定制化虚拟现实学习内容

虚拟现实&#xff08;VR&#xff09;技术的出现为我们提供了一种全新的在线教学方式。由广州华锐视点开发的VR线上教学资源平台&#xff0c;作为一个综合性的学习工具&#xff0c;正在教育领域迅速发展&#xff0c;并被越来越多的教育机构和学生所接受。那么&#xff0c;VR线上…

kotlin获取输入

在 Kotlin 中&#xff0c;获取用户输入可以通过标准库中的 readLine() 函数来实现。这个函数允许你从控制台读取用户输入的文本&#xff0c;并将其作为字符串返回。下面是获取用户输入的详细步骤&#xff1a; 1. 使用 readLine() 函数获取用户输入 fun main() {println("…

把握潮流:服装定制小程序的发展与趋势

随着互联网的快速发展&#xff0c;小程序成为了人们生活中不可或缺的一部分。尤其在服装行业&#xff0c;定制化已经成为了一种趋势。为了满足消费者个性化的需求&#xff0c;服装定制小程序应运而生。 为了方便开发者的设计和制作&#xff0c;我们可以使用第三方的制作平台来创…

clickhouse新建服务器流程

1、sudo apt-get install -y apt-transport-https ca-certificates dirmngr 2、sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 8919F6BD2B48D754 3、echo "deb https://packages.clickhouse.com/deb stable main" | sudo tee /etc/apt/sour…

常见的跨域解决方案

常见的跨域解决方案&#xff1a; 跨域问题可以分为两种情况&#xff1a;前端跨域和后端跨域。以下是针对这两种情况的跨域解决方案&#xff1a; 前端跨域解决方案&#xff1a; JSONP&#xff1a; 适用于前端向不同域名下的服务器请求数据&#xff0c;通过添加回调函数名称来…

vscode + python

序 参考链接&#xff1a; 【教程】VScode中配置Python运行环境_哔哩哔哩_bilibili Python部分 Python Releases for Windows | Python.org vscode部分 Visual Studio Code - Code Editing. Redefined 一路next&#xff0c;全部勾上&#xff1a; 就可以了&#xff1a; 安装插…

优化GitHub网站访问慢的问题

方法一、修改host文件解决 大型网站服务器都不会是只有一台服务器,而是多台服务器组成的集群一起对外提供服务。 使用站长工具测速&#xff0c;找一个速度比较快的服务器。 图中可以看到140.82.121.4这个ip比较快&#xff0c; 下面修改hosts: Mac 在 /etc/hosts 中&#x…

stm32_ADC电源、通道、工作模式

0、ADC功能框图 1、ADC的电源 1.1、工作电源 VSSAVSS&#xff0c;VDDAVDD&#xff0c;简单来说&#xff0c;通常stm32是3.3V&#xff0c;ADC的工作电源也是3.3V&#xff1b; 1.2、参考电压 VREF和VREF-并不一定引出&#xff0c;取决于封装&#xff0c;如果没有引出则VREF连接到…

classloader的讲解

我们先从Activity的启动流程开始切入&#xff1a; //位于android/app/ActivityThread.java中 private Activity performLaunchActivity(ActivityClientRecord r, Intent customIntent) {// ........省略代码//通过反射创建activityjava.lang.ClassLoader cl appContext.getCl…

前端学习清单

顺序不分先后。 技术名称技术描述技术链接HTML5HTML5是下一代的HTML标准&#xff0c;是一种用于结构化内容的标记语言。MDN|HTMLCSS3CSS3是CSS技术的升级版本&#xff0c;它的最大好处就是可以让网页设计师更加方便的为网页添加各种各样的样式&#xff0c;而不用再局限于文字、…

重新认识小米

被镁光灯聚焦的企业&#xff0c;总是会被贴上各种标签。 8月14日&#xff0c;小米科技创始人雷军以“成长”为主题的年度演讲&#xff0c;刷遍社交网络。提到小米&#xff0c;你首先想到什么&#xff1f;手机发烧友、极致性价比&#xff0c;还是最年轻的500强&#xff1f; 这…