首页 > 其他分享 >vue3.0 keep-alive 缓存指定页面

vue3.0 keep-alive 缓存指定页面

时间:2025-01-16 14:28:19浏览次数:3  
标签:缓存 alive keep vue3.0 vue3 写法

vue3.0 keep-alive 缓存指定页面

**vue2.0 和vue3.0 keep-alive写法是有区别,不要太过于依赖AI **!!!!

vue2的写法(不适用于vue3)

<keep-alive >
    <router-view v-if="$route.meta.keepAlive"></router-view>
</keep-alive>
<router-view v-if="!$route.meta.keepAlive"></router-view>

vue3的写法(唯一且正解的方案)

<div>
    <router-view  v-slot="{ Component }">
        <keep-alive >
        	<component :is="Component" v-if="$route.meta.keepAlive"/>
        </keep-alive>
    		<component :is="Component" :key="$route.name" v-if="!$route.meta.keepAlive"></component>
    </router-view>
</div>
遇到的坑
第一种:浏览器返回
onMounted(() => {
  // nodeData = taskDetailObj.value1;
  // createFlow();
  detailDataObject.detailParams = router.currentRoute.value.query;
  getTaskDetailData();
 
  

  window.addEventListener('popstate', popStateHandle, false)
});

const popStateHandle = function () {
  // console.log('detailDataObject.searchData111',sessionStorage.getItem("sesstionParams"))
   router.push({ path:`/home/index`,query:JSON.parse(sessionStorage.getItem("sesstionParams"))})
}
onUnmounted(() => {
    window.removeEventListener('popstate',popStateHandle, false);
})

存在的问题:搜索条件是都可以带回去的,分页问题没办法解决

第二种:本地缓存

本地缓存的方法其实也是把搜索条件保存到session,遇到的问题一样,就是分页的问题

第三种:keep-alive

vue2的写法和vue3.0的写法是完全不一样的,我这里就是太相信AI了,导致了很多种方案都实现不了。

用上include后,所有的页面都不再缓存。

<div>
     <router-view  v-slot="{ Component }">
        <keep-alive >
          <component :is="Component" />
        </keep-alive>
     </router-view>
</div>

vue3的写法(唯一且正解的方案)

<div>
    <router-view  v-slot="{ Component }">
        <keep-alive >
        	<component :is="Component" v-if="$route.meta.keepAlive"/>
        </keep-alive>
    		<component :is="Component" :key="$route.name" v-if="!$route.meta.keepAlive"></component>
    </router-view>
</div>

标签:缓存,alive,keep,vue3.0,vue3,写法
From: https://blog.csdn.net/weixin_49848050/article/details/145158872

相关文章

  • Zookeeper 核心知识深度解析:从选主到部署
    1.请简述Zookeeper的选主流程Zookeeper是一个用于维护配置信息、命名、提供分布式同步和组服务的工具。它在分布式系统中提供了强一致性,这得益于它的内部实现机制,其中包括选主流程(LeaderElection)。以下是Zookeeper的选主流程简述:初始化阶段:当Zookeeper集群启动时,......
  • TCP 与 HTTP keepalive 关系
    1.概念介绍   TCPkeepalive     TCPkeepalive是一种TCP协议层面的机制。它的主要作用是在TCP连接处于空闲状态时,定期发送探测包来检测连接的对端是否还存活。例如,在一个长时间没有数据传输的TCP连接中,服务器端可能会按照配置好的时间间隔(如每隔7200秒)发送一个TCP......
  • Nginx+keepalived 双机热备(主从模式)
    负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可以实现故障转移和高可用环境,避免单点故障,保证网站健康持续运行。关于负载均衡介绍,可以参考:linux负载均衡总结性说明(四层负载/七层负载)由于业务扩展,网站的访问量不断加大,负载越来越高。......
  • 【TCP协议】TCP Keepalive 指南
    1、什么是TCPKeepalive?TCPKeepalive是一种TCP协议内置的探测机制,用于检测长时间未活动的连接是否仍然存活。当启用了Keepalive后,TCP会在连接空闲一定时间后,定期向对端发送探测包,如果未收到对端的响应,则会尝试多次探测,最终关闭连接。用途:检测并清理死连接,防止资源长期......
  • Zookeeper 是一个开源的分布式协调服务,用于在分布式系统中提供一致性、可靠性和协调功
    什么是Zookeeper集群?Zookeeper是一个开源的分布式协调服务,用于在分布式系统中提供一致性、可靠性和协调功能。它常常被用于管理配置、同步服务和命名注册等任务。Zookeeper集群是由多个Zookeeper实例(节点)组成的集群,这些节点共同工作,以确保系统的高可用性、容错性和一致性。......
  • ZooKeeper集群&kafka集群安装
    kafka的管理需要借助zookeeper完成,所以要先安装好zookeeper集群。一、zookeeper集群安装1.1集群规划在主机node1、node2和node3三个节点上都部署Zookeeper。1.2解压安装官网下载地址:https://zookeeper.apache.org/这里我安装的版本为3.5.7。在node1服务器解压Zook......
  • ZooKeeper 面试资料
    1.说说Zookeeper是什么?ZooKeeper的特点:维护、协调、管理、监控特点:(分布式应用协调服务)最终一致性:客户端看到的数据最终是一致的可靠性:服务器保存了消息,那么它就一直都存在实时性:ZooKeeper不能保证两个客户端同时得到刚更新的数据独立性(等待无关):不同客户端直接互不影响......
  • Docker中启动Zookeeper
    使用Docker启动Zookeeper的指南Zookeeper是一个开源的分布式协调服务,广泛应用于分布式系统中。使用Docker容器化部署Zookeeper,可以使得管理和扩展变得更加简单和高效。本文将详细介绍如何通过Docker启动Zookeeper,包括所需的命令、步骤以及一个简单的示例。流程概述以下是启动Z......
  • 学习- Nginx -浅谈Keepalived实现服务高可用的实现原理
    浅谈Keepalived实现服务高可用的实现原理一、原理两个Nginx服务器IP地址分别为192.168.44.111和192.168.44.112,对我们的应用服务器做负载均衡。为了保证服务高可用,在两台服务器上安装Keepalived软件(可以互相通信)。Keepalived会创建一个虚拟IP地址(vip-VirtualIPAddress),此......
  • 06、Docker学习,常用安装:Zookeeper、ES、Minio
    Docker学习,常用安装:Zookeeper、ES、Minio一、Docker安装Zookeeper##查询zookeeper镜像dockersearchzookeeper##拉去zookeeper镜像dockerpullzookeeper:latest##本地创建zookeeper的挂载目录mkdir-p/opt/software/myfile/zookeeper/confmkdir-p/opt/softwar......