qiankun
qiankun copied to clipboard
主应用中调用vue-router.push后navigate走了两遍!
What happens?
在vue-router 中 调用 push后, 内部执行了 路由守卫, 并执行了 history.pushState 本身是不会触发 popstate 事件, 但是 single-spa 劫持了 pushState 方法, 手动创建了一个 popstate 事件. 所以导致了 vue-router 的 navigate 走了两遍 , 路由守卫也走了两遍 已经开启了 urlRerouteOnly: true popsate 也只出发一次, 感觉这里设计上有点矛盾?
相关环境信息
- qiankun 版本: 4.2.1
- 浏览器版本:版本 91.0.4472.106(正式版本) (x86_64)
- 操作系统:Mac os 11.4
https://github.com/umijs/qiankun/issues/1423
What happens?
在vue-router 中 调用 push后, 内部执行了 路由守卫, 并执行了 history.pushState 本身是不会触发 popstate 事件, 但是 single-spa 劫持了 pushState 方法, 手动创建了一个 popstate 事件. 所以导致了 vue-router 的 navigate 走了两遍 , 路由守卫也走了两遍 已经开启了 urlRerouteOnly: true popsate 也只出发一次, 感觉这里设计上有点矛盾?
相关环境信息
- qiankun 版本: 4.2.1
- 浏览器版本:版本 91.0.4472.106(正式版本) (x86_64)
- 操作系统:Mac os 11.4 请问下你用的 vue-router 的版本是多少
What happens?
在vue-router 中 调用 push后, 内部执行了 路由守卫, 并执行了 history.pushState 本身是不会触发 popstate 事件, 但是 single-spa 劫持了 pushState 方法, 手动创建了一个 popstate 事件. 所以导致了 vue-router 的 navigate 走了两遍 , 路由守卫也走了两遍 已经开启了 urlRerouteOnly: true popsate 也只出发一次, 感觉这里设计上有点矛盾?
相关环境信息
- qiankun 版本: 4.2.1
- 浏览器版本:版本 91.0.4472.106(正式版本) (x86_64)
- 操作系统:Mac os 11.4 请问下你用的 vue-router 的版本是多少
应该是vue-router4才有这个问题
我也遇到这个问题了,有解决方式吗
2022年了,解决方案还没出来嘛?
这个问题有什么兼容的方法吗?相当的坑啊。触发了页面刷新,导致数据错误
这个问题有什么兼容的方法吗?相当的坑啊。触发了页面刷新,导致数据错误
我也碰到这个问题,在 vue router 全局前置钩子 beforeEach 判定 fullpath 是否相同 false 掉就可以了,等待官方修复吧
我也遇到,vue子应用加载两次
vue-router 4.1.0版本已修复该问题,为router实例添加了listening属性用于暂停监听issue