切换路由时页面空白问题(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> 

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

相关推荐
一孤程19 分钟前
Airtest自动化测试第五篇:小程序与Web测试——跨平台自动化全覆盖
前端·自动化测试·小程序·自动化·测试·airtest
IT_陈寒21 分钟前
SpringBoot自动配置不是你以为的那样的智能
前端·人工智能·后端
yume_sibai1 小时前
大屏数据可视化 - 边框红绿呼吸灯实现详解
前端·信息可视化·typescript
Hyyy2 小时前
很多Desktop都在上的Computer Use是什么
前端·llm
慢功夫2 小时前
开篇:VS Code 为什么不是一个普通 React App
前端·visual studio code
你挚爱的强哥2 小时前
Vue2 实现 1.5s 十连击监听(连续点击若干次),封装通用可复用点击检测工具,不用 data!Vue 封装通用连击监听方法,支持自定义时长与点击次数
前端·javascript·vue.js
huashengzsj3 小时前
Shopify个人建站如何搭建独立站:从零开始的完整指南
前端·网络·人工智能
程序猿小泓3 小时前
从 Claude Code 学 Agent Harness:一个前端工程师的 AI Agent 学习笔记
前端·人工智能·学习
柒和远方3 小时前
从审计日志到可下载证据包:事务型 Outbox、租约 fencing 与保留水位
前端·后端·架构
卓怡学长4 小时前
w266基于spring boot + vue 圣地延安美食乐享系统
java·数据库·vue.js·spring boot·spring·intellij-idea