开发过程中遇到奇奇怪怪的东西之二:路由嵌套层级太深导致页面刷选不成功

embedded/2024/9/23 10:18:06/

路由嵌套层级太深导致页面刷选不成功

问题描述:

首先 路由的配置是这样的,从路由Monthly页面跳转到MonthlyDetail页面,进入MonthlyDetail 页面并没有刷新,没有反应,找了好久的问题所在,监听路由变化,onMounted生命周期中触发初始化,但是就是一直没有变动

  {path: '/monthly',name: 'Monthly',meta: { title: '月数据'},component: () => import('@/layouts/src/xx/xx/xx/monthly/index.vue'),},{path: '/monthlyDetail',name: 'MonthlyDetail',meta: { title: '详情'},component: () => import('@/layouts/src/xx/xx/xx/monthly/detail.vue'),},

问题原因:

是由于Vue Router的懒加载组件的缓存机制导致的。当使用import语法加载组件时,Vue Router默认会对组件进行缓存,以提高性能。这意味着一旦组件被加载过,再次访问相同的路由时,组件不会重新加载,而是直接使用缓存的组件实例。当从Monthly页面跳转到MonthlyDetail页面时,由于MonthlyDetail组件已经被加载过并缓存了,因此不会触发重新加载,导致没有看到页面刷新或反应。

解决方法 一: 层级嵌套不要太深,修改页面组件放置文件夹目录
  {path: '/monthly',name: 'Monthly',meta: { title: '月数据'},component: () => import('@/layouts/src/xx/xx/xx/monthly/index.vue'),},{path: '/monthlyDetail',name: 'MonthlyDetail',meta: { title: '详情'},component: () => import('@/layouts/src/xx/xx/xx/monthlyDetail/detail.vue'),},
解决方法二:路由配置中使用props: true来强制刷新组件
{path: '/monthlyDetail',name: 'MonthlyDetail',meta: { title: '详情'},component: () => import('@/layouts/src/xx/xx/xx/monthly/detail.vue'),props: true
}

http://www.ppmy.cn/embedded/50910.html

相关文章

内容安全复习 9 - 身份认证系统攻击与防御

文章目录 基于生物特征的身份认证系统概述基于生物特征的身份认证 人脸活体检测检测方法未解决问题 基于生物特征的身份认证系统概述 作用:判别用户的身份、保障信息系统安全。 是识别操作者身份的过程,要保证其**物理身份(现实&#xff0…

Spring Boot集成vaadin快速入门demo

1.什么是vaadin? Vaadin 是用于构建单页 Web 应用的流行 Java 框架。 它由一家专门从事富 Internet 应用设计和开发的芬兰公司开发。 估计有 15 万开发者使用 Vaadin。 它的开发始于 2002 年。 Vaadin 框架特性 以下是 Vaadin 特性的列表: 这是一个 J…

[信号与系统]模拟域中的一阶低通滤波器和二阶滤波器

前言 不是学电子出身的,这里很多东西是问了朋友… 模拟域中的一阶低通滤波器传递函数 模拟域中的一阶低通滤波器的传递函数可以表示为: H ( s ) 1 s ω c H(s) \frac{1}{s \omega_c} H(s)sωc​1​ 这是因为一阶低通滤波器的设计目标是允许低频信…

装备制造业CRM解决方案

01、数字化转型驱动企业,向“以客户需求驱动创新生产”的智能制造业转变 我国装备制造业经过多年的发展,取得了令人瞩目的成就,形成了门类齐全、具有相当规模和一定水平的产业体系;主要包含通用设备、专用设备、电气机械、交通运…

MySQL 日志(一)

本篇主要介绍MySQL日志的相关内容。 目录 一、日志简介 常用日志 一般查询日志和慢查询日志的输出形式 日志表 二、一般查询日志 三、慢查询日志 四、错误日志 一、日志简介 常用日志 在MySQL中常用的日志主要有如下几种: 这些日志通常情况下都是关闭的&a…

Linux:多线程中的互斥与同步

多线程 线程互斥互斥锁互斥锁实现的原理封装原生线程库封装互斥锁 死锁避免死锁的四种方法 线程同步条件变量 线程互斥 在多线程中,如果存在有一个全局变量,那么这个全局变量会被所有执行流所共享。但是,资源共享就会存在一种问题&#xff1…

卸载并清理Mysql

ubuntu 卸载mysql 要在Ubuntu系统上卸载MySQL,你可以按照以下步骤操作: 首先,停止MySQL服务: udo systemctl stop mysql 然后,通过apt-get命令移除MySQL包: udo apt-get remove --purge mysql-server …

Vue进阶(幺叁幺):父子组件传值实现数据深拷贝_vue3拷贝父组件传来的值

二、问题分析 当组件间传递对象时,由于此对象的引用类型指向的都是一个地址(除了基本类型跟null,对象之间的赋值,只是将地址指向同一个,而不是真正意义上的拷贝),如下 数组: var a [1,2,3];…