问题:页面是一个具有筛选功能的报表详情页,对报表进行筛选后,切换菜单显示别的页面后,再次回到报表详情页后,页面显示初次进入页面时的数据,不是筛选后的数据
原因:经过多次测试发现多次切换路由和首次进入时,路由参数不一致,缺少query中数据,结合每当路由发送变化,keepalive的render方法都会重新渲染,在控制台用vue插件,发现生成了两个报表详情页的缓存,两个缓存的路径只有query数据的不同,所以偶尔会显示页面数据错乱。至于路由变化的原因还没找到,猜测是进入详情页时使用了query路由传参,多次切换菜单后,再次进入详情页,可能导致query参数丢失。
解决办法:把路由跳转改成params不使用query,即可
vue页面缓存后,切换菜单时页面数据显示错误
于 2023-02-16 21:30:31 首次发布