当前位置: 首页> 科技> IT业 > 工作遇到的坑之vue3路由切换时,页面不正常显示,刷新后正常显示(路由切换白屏问题)

工作遇到的坑之vue3路由切换时,页面不正常显示,刷新后正常显示(路由切换白屏问题)

时间:2025/7/27 0:27:10来源:https://blog.csdn.net/qq_51415791/article/details/141705080 浏览次数:2次

今天早上敲代码,写完一个二级页面之后,发现切换页面时,我写的页面出现白屏,刷新又能正常显示,这纠结了很久,发现了一个神奇的方法,既简单和解决起来快捷,于是我就打开伟大的CSDN,决定发布一般文章,把这个方法分享给有需要的程序猿们,废话不多说,进入正题:

解决前:

<router-view v-slot="{ Component }" ><transition name="fadeRouter" mode="out-in"><keep-alive :include="caches"><component :is="Component" /></keep-alive></transition></router-view>

解决后: 

<router-view v-slot="{ Component }" :key="key"><transition name="fadeRouter" mode="out-in"><keep-alive :include="caches"><component :is="Component" /></keep-alive></transition></router-view>

观察以上两段代码,找出不同之处。

细心的小伙伴已经发现了,解决前和解决后的代码,在 router-view标签中,多出了key标识,那我们去思考一下,为什么加key之后,就会解决白屏问题呢?

首先,在这里我来从两种情况去解释一下key

1.<router-view />不设置key

其实vue在执行的过程中,会复用相同的主件,对于路由有多个子路由来说,当在子路由来回切换时,会导致页面不刷新的问题,这是因为不再执行created和mounted这些钩子函数,可以通过watch来监听$route的变化从而加载不同的组件。

2.<router-view />设置key

通过设置key值,从而避免了组件复用,子路由间来回切换时,页面都会重新加载。

关注博主,下期一起探讨router-view,加key有大坑这个话题

关键字:工作遇到的坑之vue3路由切换时,页面不正常显示,刷新后正常显示(路由切换白屏问题)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: