keep-alive 和 router-view 的使用方法(Vue3)

news2024/9/22 19:25:04

系列文章目录

提示:主要是介绍keep-alive 和 router-view在Vue3中的使用方法,以及适用场景!!!


文章目录

  • 系列文章目录
  • 前言:
  • 一、router-view:
    • 1. 常规使用方法
    • 2. 非常规使用方法(插槽)
    • 3. 非常规使用方法(结合keep-alive)
    • 4. 命名路由👇🏻🔗(name字段)
  • 二、keep-alive:
    • 1. keep-alive解释如下:
    • 2. keep-alive用法如下(贼简单):
    • 3. keep-alive对应的一些属性如下:
      • 一、keep-aliv中的 include 和 exclude
        • ①. include和exclude的含义
        • ②. 使用代码如下(exclude用法一致,含义不同):
      • 二、keep-alive中的 生命周期函数
        • ①. onActivated(激活) 和 onDeactivated(失活)
        • ②. 使用代码如下
    • 4. keep-aliv中的其他Api(点击👇🏻)
  • 总结🌹


前言:

总结背景:

在很久很久之前的一次需求讨论中,后端同学(我们没有产品😂😂)想要优化现在的一些交互流程。其中提到了:对某一个页面进行数据缓存,保留用户搜索的一些数据,防止用户再返回页面时进行重复的刷新。需求是解决了,但是想了一下还是总结一下会好一些(好记性不如烂笔头😂)。
在这里插入图片描述


一、router-view:

作为一名使用Vue框架的开发人员,如果你要说对router-view的使用不熟悉就有点讲不过去了(回家种田吧!!)

router-view可以说是再熟悉不过了(这里就不多做解释了)

1. 常规使用方法

<template>
  <div>
    <h1>App Header</h1>
    <router-view></router-view>
    <h2>App Footer</h2>
  </div>
</template>

2. 非常规使用方法(插槽)

  //插槽使用方法如下
  <router-view v-slot="{ Component }">
          <component  :is="Component"/>
  </router-view>

3. 非常规使用方法(结合keep-alive)

  //与keep-alive结合使用
  <router-view v-slot="{ Component }">
          <keep-alive>
            <component :is="Component" />
         </keep-alive>    
  </router-view>

4. 命名路由👇🏻🔗(name字段)

router-view (Vue官网)

二、keep-alive:

1. keep-alive解释如下:

  1. 在Vue3中,keep-alive指令的作用:用于在组件之间缓存和重用组件实例,以提高性能和用户体验。它可以应用于动态组件和具有相同标签名称的静态组件
  2. 一句话总结:keep-alive 是一个内置组件,它的功能是在多个组件间动态切换时缓存被移除的组件实例。

2. keep-alive用法如下(贼简单):

在这个示例中,keep-alive 包裹了一个动态组件,这意味着组件实例会被缓存起来,以便在下一次需要使用它时,可以直接从缓存中获取,而不需要重新创建实例。

<template>
  <div>
    使用keep-alive去包裹对应的动态组件
   (对component不了解的同学可以去补一下)
    <keep-alive>
      <component :is="currentComponent"></component>
    </keep-alive>
  </div>
</template>

3. keep-alive对应的一些属性如下:

一、keep-aliv中的 include 和 exclude

①. include和exclude的含义

一、include:表示对【组件名1】、【组件名2】进行缓存(只对这两个组件进行缓存)
二、exclude:表示对【组件名1】、【组件名2】不进行缓存(除这两个组件以外其他的组件缓存)

②. 使用代码如下(exclude用法一致,含义不同):

  1. com1,com2 : 表示的是对应的组件名称
  2. component中的is动态组件的名称
<!-- 第一种使用方法:以英文逗号分隔的字符串 -->
<KeepAlive include="com1,com2">
  <component :is="viewCom" />
</KeepAlive>

<!-- 第二种使用方法:正则表达式 (需使用 `v-bind`) -->
<KeepAlive :include="/com1|com2/">
  <component :is="viewCom" />
</KeepAlive>

<!-- 第三种使用方法: 数组 (需使用 `v-bind`) -->
<KeepAlive :include="['com1', 'com2']">
  <component :is="viewCom" />
</KeepAlive>

二、keep-alive中的 生命周期函数

①. onActivated(激活) 和 onDeactivated(失活)

一、onActivated :被keep-alive包裹的组件再次调用时触发(组件第一次创建的时候不调用)
二、onDeactivated:被keep-alive包裹的组件离开时触发(组件第一次离开不触发)

②. 使用代码如下

<script setup>
import { onActivated, onDeactivated } from 'vue'
//onActivated 和  onDeactivated 与组件内的其他生命周期使用方法一致
onActivated(() => {})

onDeactivated(() => {})
</script>

4. keep-aliv中的其他Api(点击👇🏻)

keep-alive(Vue官方)

总结🌹

终于是完事了!!!!有不正确的地方,欢迎大家指正💪💪💪
请添加图片描述

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

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

相关文章

UE5语音识别和语音合成-阿里云智能语音-短视频-翻译-文章-AI角色等

UE5智能语音 哈喽&#xff0c;大家好&#xff0c;我叫人宅&#xff0c;很高兴和大家一起分享本套课程&#xff0c;阿里云智能语音UE5版本开发。阿里云智能语音一共分为 语音合成&#xff0c;语音识别&#xff0c;什么是语音合成&#xff0c;它可以将您的文字转化成您设定的任何…

大数据数仓维度建模

目录 维度建模分为三种&#xff1a; 1、星型模型&#xff1a; 2、雪花模型&#xff1a; 3、星座模型&#xff1a; 模型的选择&#xff1a; 维度表和事实表&#xff1a; 维度表&#xff1a; 维度表特性 &#xff1a; 事实表&#xff1a; 事实表特性&#xff1a; 事务型…

程序员能干多久?程序员能干到多大年龄?

程序员可以工作多少年?大多数程序员认为程序员是吃青春饭的工作。编程只能干到30岁&#xff0c;最长可达35岁。我经常听到这样的话&#xff0c;都让人倍感压力。今天&#xff0c;我们来谈谈这个老话题...... 程序员能干多久&#xff1f; 根据国外的经验来说&#xff0c;干到…

ChatGPT 基础使用方法

文章目录 1. ChatGPT 是下一代搜索引擎2. ChatGPT 是学习助手3. ChatGPT API 简介4. ChatGPT API 身份5. 开发痛点6. 机会与前景7. Images8. Audio 1. ChatGPT 是下一代搜索引擎 根据 3 月份对 ChatGPT 的使用&#xff0c;我对它的理解是下一代的搜索引擎&#xff0c;即能够根…

【社区图书馆】读《大话数据结构溢彩加强版》

目录 书中简介&#xff1a; 选读原因 本书内容有哪些&#xff1a; 学会了什么&#xff1a; 书中简介&#xff1a; 《大话数据结构【溢彩加强版】》以一个计算机教师的教学过程为场景&#xff0c;讲解数据结构和相关算法的知识。全书以趣味方式来叙述&#xff0c;大量引用各…

无公网IP,外网远程连接MySQL数据库

哈喽~大家好&#xff0c;这篇来看看无公网IP&#xff0c;外网远程连接MySQL数据库。 文章目录 前言1. 检查mysql安装状态2. 安装配置cpolar内网穿透3. 创建tcp隧道&#xff0c;映射3306端口4. 公网远程连接4.1 图形化界面4.2 使用命令行远程连接 5. 配置固定tcp端口地址5.1 保留…

「计算机控制系统」6. 直接设计法

特殊类型系统的最小拍无差设计 一般系统的最小拍无差设计 最小拍控制器的工程化改进 Dahlin算法 文章目录 特殊类型系统的最小拍无差设计理论分析典型输入函数的最小拍无差系统 一般系统的最小拍无差设计有波纹最小拍无差设计无波纹最小拍无差设计 最小拍控制器的工程化改进针对…

操作HDFS文件系统常用命令(启停、创建、查看、上传、下载、追加、删除.etc)

文章目录 1 一键启停2 单进程启停3 创建文件夹4 查看指定目录下内容5 上传文件到HDFS指定目录下 linux->HDFS6 下载 HDFS ->Linux7 追加数据 linux->HDFS8 查看HDFS文件内容9 HDFS 数据删除10 网页端图形化界面11总结 跟linux命令大差不差 1 一键启停 HadoopHDFS组件…

共享锁中:Semaphore 、CyclicBarrier 、CountDownLatch的区别是什么?

目录 下面是一个使用Semaphore实现共享锁的例子&#xff1a; 下面是一个使用CountDownLatch实现等待一组操作完成的例子&#xff1a; 下面是一个使用CyclicBarrier实现等待一组线程达到某个状态后再同时执行的例子&#xff1a; 结论1&#xff1a; 结论2&#xff1a; 下面是…

JavaSE基础(一)—— Java环境搭建、IDEA、Java语言

【JavaSE基础回顾笔记】 JavaSE基础&#xff08;一&#xff09;—— Java环境搭建、IDEA、Java语言 JavaSE基础&#xff08;二&#xff09;—— Java语法、运算符、随机数 JavaSE基础&#xff08;三&#xff09;—— 分支、循环、控制关键字 JavaSE基础&#xff08;四&…

Opencv+Python笔记(六)图像的平滑处理

图像在获取、传输的过程中&#xff0c;可能会受到干扰的影响&#xff0c;会产生噪声&#xff0c;噪声是一种出错了的信号&#xff0c;噪声会造成图像粗糙。 图像平滑处理的目的是去除图像中的噪声和不必要的细节&#xff0c;使图像更加清晰和易于分析。常用的平滑滤波器包括高斯…

无感FOC

前言 一年多前就画好了FOC的板子&#xff0c;后面因为各种原因耽搁了&#xff0c;最近又重新捡起来&#xff0c;准备写一下程序&#xff0c;首先我们要做一下FOC的理论分析。 左右手定则 左手定则用于判断导线在磁场中受力的方向&#xff1a; 磁感线从左手手心流入&#xff0…

前++与后++的区别?反汇编底层刨析

目录 1.只&#xff0c;不赋值 2.和其他运算符的结合 1.后置&#xff08;i&#xff09; 2.前&#xff08;i&#xff09; 总结 1.只&#xff0c;不赋值 前置和后置无区别&#xff0c;效果一致&#xff0c;i -> ii1 反汇编语言内&#xff0c;对a和b的操作进行观察&#…

彻底卸载Anaconda和PyCharm详细教程

目录 一、卸载Anaconda 二、 卸载PyCharm 一、卸载Anaconda 1、在开始处打开Anaconda Prompt 2、打开后&#xff0c;输入conda install tqdm -f命令并按回车键 conda install tqdm -f 3、之后页面会出现一个WANNING&#xff0c;这个我们不用在意&#xff0c;然后会出现一个…

GitHub新手用法详解【适合新手入门-建议收藏!!!】

目录 什么是Github&#xff0c;为什么使用它&#xff1f; 一、GitHub账号的注册与登录 二、 gitbash安装详解 1.git bash的下载与安装 2.git常用命令 3. Git 和 GitHub 的绑定 1. 获取SSH keys 2.绑定ssh密钥 三、通过Git将代码提交到GitHub 1.克隆仓库 2.测试提交代码…

ClickHouse同步MySQL数据

目录 1 概述1.1 特点1.2 使用细则 2 案例实操2.1 MySQL 开启 binlog 和 GTID 模式2.2 准备 MySQL 表和数据2.3 开启 ClickHouse 物化引擎2.4 创建复制管道2.5 修改数据2.6 删除数据2.7 删除表 1 概述 MySQL 的用户群体很大&#xff0c;为了能够增强数据的实时性&#xff0c;很多…

通过response.body()返回的json报文,直接生成对应结构体,实现数据绑定

作者&#xff1a;非妃是公主 专栏&#xff1a;《Golang》 博客地址&#xff1a;https://blog.csdn.net/myf_666 个性签&#xff1a;顺境不惰&#xff0c;逆境不馁&#xff0c;以心制境&#xff0c;万事可成。——曾国藩 文章目录 序一、解决办法二、相关测试代码1. json body…

Origin选取一定间隔的数据点并作图

有些时候我们发现用origin绘制的图数据点太密&#xff0c;抖动太剧烈&#xff1a; 所以我们最好是隔几个点采样一次&#xff0c;方法如下。 假如我们一共有五列数据&#xff0c;我们再扩充六列&#xff08;其中一列是放隔点采样的横坐标&#xff09;&#xff1a; 然后选中扩充…

Java企业级开发学习笔记(2.4)利用MyBatis实现条件查询

该文章主要为完成实训任务&#xff0c;详细实现过程及结果见【http://t.csdn.cn/AZM1g】 文章目录 一、创建学生映射器配置文件二、配置学生映射文件三、创建学生映射器接口四、测试学生映射器接口任务1. 查询女生记录任务2. 查询19岁的女生任务3. 查询姓吴的19岁女生任务4. 查…

css预处理器:less

1.css常见单位 绝对单位 只需要掌握px,国外in用得更多 相对单位 em em相对于自身的font-size,如果自身未定义,则相对于继承的父元素font-size rem rem可以做移动端的适配,依然很重要,如淘宝m站在使用;但是趋势是rem转vw rem是相对于html的font-size,html默认字体大小为1…