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

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

相关推荐
user20585561518131 小时前
Windows 项目安装时报 `node-sass` 错误,如何快速处理
前端
LiaCode1 小时前
Redis 在生产项目的使用
前端·后端
LiaCode1 小时前
一天学完 redis 的爽翻版核心知识总结
前端·后端
大刚测试开发实战1 小时前
如何内网穿透访问本地私有化部署的TestHub
前端·后端·github
风骏时光牛马1 小时前
# Ruby基于Rails框架实现多角色权限管理与数据分页查询完整实战代码案例
前端
weedsfly1 小时前
迭代器、生成器与异步迭代——让数据“按需流动”的艺术
前端·javascript
xiaodaoluanzha1 小时前
迄今為止,最簡單的編程語言 Nolang
前端·后端
Csvn1 小时前
Fetch 请求竞态终结者:AbortController 不只是用来"取消"的
前端
阡陌Jony1 小时前
关于前端路由中的参数问题的学习(一): params,query, hash(#)
前端
阡陌Jony1 小时前
缓存相关学习笔记(一):Service Worker 缓存
前端