前端基础 keep-alive的使用(Vue)

用法

keep-alive是Vue内置的一个组件,可以使被包含的组件保留状态,避免重新渲染

 

<keep-alive><component><!-- 该组件将被缓存! --></component>
</keep-alive>

props

  • include - 字符串或正则表达,只有匹配的组件会被缓存
  • exclude - 字符串或正则表达式,任何匹配的组件都不会被缓存
// 组件 a
export default {name: 'a',data () {return {}}
}

 include

<keep-alive include="a"><component><!-- name 为 a 的组件将被缓存! --></component>
</keep-alive>可以保留它的状态或避免重新渲染

exclude

<keep-alive exclude="a"><component><!-- 除了 name 为 a 的组件都将被缓存! --></component>
</keep-alive>可以保留它的状态或避免重新渲染

vue-router

router-view 也是一个组件,如果直接被包在 keep-alive 里面,所有路径匹配到的视图组件都会被缓存:

<keep-alive><router-view><!-- 所有路径匹配到的视图组件都会被缓存! --></router-view>
</keep-alive>

 关于router-view的个性化设置

  • 使用 include/exclude
  • 增加 router.meta 属性

include 

<keep-alive include="a"><router-view><!-- 只有路径匹配到的视图 a 组件会被缓存! --></router-view>
</keep-alive>

 router.meta

// routes 配置
export default [{path: '/',name: 'home',component: Home,meta: {keepAlive: true // 需要被缓存}}, {path: '/:id',name: 'edit',component: Edit,meta: {keepAlive: false // 不需要被缓存}}
]
<keep-alive><router-view v-if="$route.meta.keepAlive"><!-- 这里是会被缓存的视图组件,比如 Home! --></router-view>
</keep-alive><router-view v-if="!$route.meta.keepAlive"><!-- 这里是不被缓存的视图组件,比如 Edit! -->
</router-view>

 

使用 router.meta 拓展
export default {data() {return {};},methods: {},beforeRouteLeave(to, from, next) {// 设置下一个路由的 metato.meta.keepAlive = false; // 让 A 不缓存,即刷新next();}
};

 总结:

我们可以通过静态和动态两种简单理解的方式去缓存,也就是说静态就是我们常用的组件name的方式去做,动态就是我们通过组件的路由守卫去做这件事情。

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

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

相关文章

2024 1.9 Spark_SQL , 数据清洗API , 写出操作

目录 一. DataFrame 详解 1. 数据清洗API 1.去重 : 2. 去除空: 3. 填充替换 : 2. SparkSQL的shuffle分区设置 3 . SparkSQL 数据写出操作 3.1 写出到文件系统 3.2 写出到数据库 一. DataFrame 详解 1. 数据清洗API 1.1 去重 : DropDupilcates : init_df.dropDuplicates().…

Kubernetes 核心实战之三(精华篇 3/3)

文章目录 6、Ingress ★6.1 安装 Ingress6.2 访问6.3 安装不成功的bug解决6.4 测试使用6.4.1 搭建测试环境6.4.2 配置 Ingress的规则6.4.3 测试I6.4.4 测试II6.4.5 路径重写6.4.6 限流 7. Kubernetes 存储抽象7.1 NFS 搭建7.2 原生方式 数据挂载7.3 PV 和 PVC ★7.3.1 创建 PV …

语义解析:连接自然语言与机器智能的桥梁

文章目录 01 语义解析的应用场景场景一&#xff1a;场景二&#xff1a; 02 语义解析和大模型的关系 语义解析技术可以提高人机交互的效率和准确性&#xff0c;在自然语言处理、数据分析、智能客服、智能家居等领域都有广泛的应用前景。特别是在大数据时代&#xff0c;语义解析能…

m401a电视盒子

1.1 刷机教程 魔百盒M401A成功刷入armbian_m401a刷armbian-CSDN博客 https://blog.csdn.net/xiaokai1999/article/details/129623435 江苏版M401A原版 刷机ARMBIAN注意要点 http://www.taodudu.cc/news/show-5341375.html?actiononClick 1.2 查看系统内核 cat /etc/ophub-…

2024年甘肃省职业院校技能大赛 “信息安全管理与评估”赛项样题卷①

2024年甘肃省职业院校技能大赛 高职学生组电子与信息大类信息安全管理与评估赛项样题 第一阶段&#xff1a;第二阶段&#xff1a;模块二 网络安全事件响应、数字取证调查、应用程序安全第二阶段 网络安全事件响应第一部分 网络安全事件响应第二部分 数字取证调查第三部分 应用程…

[Linux进程(一)] 什么是进程?PCB的底层是什么?以及进程标识符pid与ppid

文章目录 1、前言2、描述进程 — PCB(os怎么管理进程呢)3、查看进程3.1 方法一3.2 方法二 4、系统调用获取进程标示符(PID)4.1 获取进程的ID4.2 获取进程的父进程ID 5、系统调用创建子进程-fork 1、前言 大家经常都在讲进程&#xff0c;而它到底是什么呢&#xff1f; 这里给大…

Android逆向学习(六)绕过app签名校验,通过frida,io重定向(上)

Android逆向学习&#xff08;六&#xff09;绕过app签名校验&#xff0c;通过frida&#xff0c;io重定向&#xff08;上&#xff09; 一、写在前面 这是吾爱破解正己大大教程的第五个作业&#xff0c;然后我的系统还是ubuntu&#xff0c;建议先看一下上一个博客&#xff0c;关…

linux: netstat 与 ss 用法详解

文章目录 netstat描述语法参数例子 ss描述语法参数例子 总结 netstat 描述 内核中访问网络连接状态及其相关信息的程序&#xff0c;它能提供 TCP 连接&#xff0c;TCP 和 UDP 监听&#xff0c;进程内存管理的相关报告 语法 netstat [选项] usage: netstat [-vWeenNcCF] [&l…

聊聊 Java 集合框架中的Arrays

Arrays 和 Collections是分别操作数组和集合的两个工具类。今天就来对 Arrays 中的内容作个总结。 一、Arrays 类概述 Arrays 类位于 java.util包中。Arrays 继承 Object java.lang.Object↳ java.util.ArraysArrays 类中的静态方法可以对数组进行排序、查询、搜索等等操作。…

Zookeeper设计理念与源码剖析

Zookeeper 架构理解 整体架构 Follower server 可以直接处理读请求&#xff0c;但不能直接处理写请求。写请求只能转发给 leader server 进行处理。最终所有的写请求在 leader server 端串行执行。&#xff08;因为分布式环境下永远无法精确地确认不同服务器不同事件发生的先后…

easyExcel 获取多个sheet中复杂表头的数据

easyExcel 获取多个sheet中复杂表头的数据 easyExcel 解释 EasyExcel是一个强大且易于使用的Java库&#xff0c;用于简化Excel文件的读写操作。它是阿里巴巴开源的一个基于POI实现的Excel处理工具&#xff0c;并提供了一组简单的API来处理Excel文件&#xff0c;包括读取、写入…

逐步分解,一文教会你如何用 jenkins+docker 实现主从模式

jenkins 主从模式想必大家都不陌生&#xff0c;大家在学习过程中为了学习方便都在自己本地搭建了 jenkins 环境&#xff0c;然后通过 javaweb 方式实现&#xff0c;对于 docker 下实现主从模式大家好像兴趣挺大。 今天就通过这篇文章给大家讲讲怎么玩&#xff0c;希望对大家有帮…

Vivado开发FPGA使用流程、教程 verilog(建立工程、编译文件到最终烧录的全流程)

目录 一、概述 二、工程创建 三、添加设计文件并编译 四、线上仿真 五、布局布线 六、生成比特流文件 七、烧录 一、概述 vivado开发FPGA流程分为创建工程、添加设计文件、编译、线上仿真、布局布线&#xff08;添加约束文件&#xff09;、生成比特流文件、烧录等步骤&a…

交叉编译ARM64架构electron详解

基本介绍 本文主要参考Electron官方文档中 构建说明 和 构建步骤(Linux) 在amd64环境内构建arm64的electron包。 如果是arm64环境请查看文章arm64架构编译electron长征路 一、环境说明 操作系统版本:统信1060 操作系统架构:amd64 内存:32G 如下图: electron版本:v25…

企业微信forMAC,如何左右翻动预览图片

1、control commandshifd 进入企业微信的debug调试模式 2、按照如下步骤选择 3、重启企业微信

全球再生环保趋势的热门项目GRS认证

GRS&#xff0c;最初由世优认证&#xff08;CU&#xff09;于2008年制定&#xff0c;并于2011年1月1日将所有权转让给了纺织品交易所TE。 自2017年7月1日GRS4.0版本开始生效。是为在纺织工业的需求所制定&#xff0c;核查回收产品或某些特定产品。更重要的是让零售商和消费者了…

【K8S 存储卷】K8S的存储卷+PV/PVC

目录 一、K8S的存储卷 1、概念&#xff1a; 2、挂载的方式&#xff1a; 2.1、emptyDir&#xff1a; 2.2、hostPath&#xff1a; 2.3、NFS共享存储&#xff1a; 二、PV和PVC&#xff1a; 1、概念 2、请求方式 3、静态请求流程图&#xff1a; 4、PV和PVC的生命周期 5、…

基于ubuntu2204使用kubeadm部署k8s集群

部署k8s集群 基础环境配置安装container安装runc安装CNI插件部署1.24版本k8s集群&#xff08;flannel&#xff09;安装crictl使用kubeadm部署集群节点加入集群部署flannel网络配置dashboard 本集群基于ubuntu2204系统使用kubeadm工具部署1.24版本k8s&#xff0c;容器运行时使用…

Unity | Shader基础知识(第九集:shader常用单词基础知识速成)

目录 一、顶点&#xff08;Vertex&#xff09;和法线(Normal) 二、UV信息 三、 基础数据种类 1 基础数据种类 2 基础数据数组 3 基础数据数组的赋值 4 对数据数组的调用 四、 基础矩阵 1 基础矩阵种类 2 对矩阵数组的调用 2.1对一个数据的调用 2.2对多个数据的调用 2…

js判断当前是否是企业微信环境,微信环境

前言&#xff1a; js判断当前是否是企业微信环境&#xff0c;微信环境 封装方法&#xff1a; function envjudge() {var isMobile window.navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBro…