切换路由时页面空白问题(vue3)

1.vue3页面空白不报错,刷新后显示正常

  • 记录问题:vue3中修改当前页面代码保存后,回到页面显示空白,切换菜单页面同样显示空白,刷新页面后恢复显示正常。
  • 解决方法:为router-view添加key :key="$route.fullPath"
  • 添加位置:/layout/components/AppMain.vue文件
  • 具体代码:
html 复制代码
<template>
  <section class="app-main">
    <router-view v-slot="{ Component, route }" :key="$route.fullPath">
      <transition :enter-active-class="animante" mode="out-in">
        <keep-alive :include="tagsViewStore.cachedViews">
          <component v-if="!route.meta.link" :is="Component" :key="route.path" />
        </keep-alive>
      </transition>
    </router-view>
    <iframe-toggle />
  </section>
</template>

注意:有使用layout封装布局的,是在layout下的主页面中的 router-view 添加标识,不是在src根目录下main.vue中修改(在这个文件修改会造成每次切换路由导航标签都会收起)

2.vue3切换路由后页面不报错显示空白,刷新后显示正常

  • 记录问题:vue3中只切换路由后页面不报错显示空白,在该页面刷新后正常显示,切换路由又不显示问题。
  • 解决方法:可以依次检查以下问题:①是否在根组件标签最外层包含了个最大的div盒子包裹内容。②看看是否在template标签下面直接有注释,如果有需要把注释写到div里面。(即根标签下不要直接有注释)
  • 错误案例:
  1. <template>中间有多个div标签
  2. <template>与<div>之间有注释

错误写法(案例1):

html 复制代码
<template>
    <div>布局1</div>
    <div>布局2</div>
</template>

正确写法(案例1):

html 复制代码
<template>
    <div>
        <div>布局1</div>
        <div>布局2</div>
     </div>
</template>

错误写法(案例2):

html 复制代码
<template>
 <!-- 注释 -->
<div>
开始布局
</div>
 <!-- 注释 -->
</template>

正确写法(案例2):

html 复制代码
<template>
<div>
 <!-- 注释 /> -->
开始布局
 <!-- 注释 /> -->
</div>
</template> 

~一位热衷于技术分享的码仔~

相关推荐
日光倾27 分钟前
TypeScript 随手记 —— 1
前端·javascript·typescript
自学it的攻城狮40 分钟前
elpis-core ,koa实现的系统底座, 沉淀80% 的通用能力,剩下20% 用于定制化开发
前端
CappuccinoRose2 小时前
模块化体系
前端·import·export·es modules
AIDANHANG2 小时前
放开靠时间戳对日志前先核请求ID跨服务传播与采样关联
前端·人工智能
半生过往3 小时前
前端学 Java 课程笔记
java·前端·笔记
广州华水科技4 小时前
2026年单北斗GNSS变形监测系统推荐,破解水库安全监测难题
前端
独爱香菜5 小时前
Next.js 15 + Cloudflare Workers 实战:零中间件多语言 SEO 站点架构
前端
计算机魔术师5 小时前
DeepSeek、Qwen3比肩GPT-5,本地跑大模型的时代来了
前端
xcyxiner5 小时前
flutter wsl2安装记录(使用宿主机虚拟机)
前端·flutter
前端炒粉5 小时前
长会话虚拟滚动与渲染优化
前端·javascript·vue.js