vue2路由配置完页面白屏
时间: 2023-10-08 08:13:14 浏览: 92
Vue (打包白屏问题,代理跨域)
页面白屏的问题是因为刷新页面时,vuex中的数据会丢失,导致动态添加的路由失效[1]。为了解决这个问题,可以将路由信息存储在sessionStorage中,但需要注意的是,只存储了左侧菜单栏展示的信息path地址,并没有存储路由详细信息,比如name和meta值。因此,我们可以使用路由守卫,在每次页面刷新时判断是否添加了动态路由。如果没有添加,则再次执行添加动态路由的过程即可。
在store.js的mutations中添加动态路由的代码,可以通过设置一个变量来记录是否已经添加了动态路由的布尔值。在路由守卫中,判断这个变量的值,如果为false,则执行添加动态路由的过程,然后调用next()继续页面的跳转。
使用路由懒加载也是解决页面白屏问题的常用方法。路由懒加载即延迟加载或按需加载,可以提升首屏组件加载速度,解决白屏问题。在vue2中,可以使用动态import语法来实现路由懒加载。将组件的import语句放在路由配置中的component字段中,并使用箭头函数来动态导入组件。
下面是解决页面白屏问题的步骤:
1. 将路由信息存储在sessionStorage中,包括左侧菜单栏展示的信息path地址。
2. 在store.js的mutations中添加动态路由的代码,并设置一个变量记录是否已经添加了动态路由的布尔值。
3. 使用路由守卫,在每次页面刷新时判断是否添加了动态路由。如果没有添加,则再次执行添加动态路由的过程,并调用next()继续页面的跳转。
4. 使用路由懒加载来提升首屏组件加载速度,解决白屏问题。在vue2中,可以使用动态import语法来实现路由懒加载,将组件的import语句放在路由配置中的component字段中,并使用箭头函数来动态导入组件。
通过以上步骤,可以解决vue2路由配置完页面白屏的问题。
阅读全文