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

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

相关推荐
突然好热1 小时前
TS 调试技巧
前端·javascript·typescript
h64648564h1 小时前
Flutter 国际化(i18n)全指南:一键切换中/英/日多语言
前端·javascript·flutter
令人头秃的代码0_01 小时前
AI时代下,如何做原子代码拆分
前端
我材不敲代码3 小时前
Python 函数核心:位置参数与关键字参数详解
java·前端·python
Kratzdisteln3 小时前
【无标题】
前端·python
李剑一3 小时前
小红书前端架构面试问的挺深入啊!面试官:Vue中组合式API与选项式API的设计权衡
vue.js·面试
Curvatureflight3 小时前
前端国际化 i18n 落地实践:语言包、动态文案和格式化问题怎么处理?
前端·c++·vue
kTR2hD1qb3 小时前
Claude Code Skill的介绍与使用
java·前端·数据库·人工智能
一 乐4 小时前
汽车租赁|基于SprinBoot+vue的汽车租赁管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·汽车·论文·毕设·汽车租赁管理系统