正常情况下:按页面 A 中的返回按钮 push 返回到页面 B 并传某个参数。 手机返回键下:页面 A 直接返回到上个页面 B,然后页面 B 缺了某个参数。 前端小白百度也找不到明确方法,求大佬们好心解答,谢谢!
1
LyleRockkk 2020-01-16 17:38:18 +08:00
你 google "js 阻止 手机返回键返回",就知道了
|
2
shcolo 2020-01-16 17:42:32 +08:00
|
3
xiangyuecn 2020-01-16 17:49:55 +08:00
一进页面二话不说,先 history.pushState 10 次,占满后退历史,不够? 100 次
|
4
chairuosen 2020-01-16 17:50:53 +08:00
就不该这么设计,应该在 A 的 beforeRouteLeave 里找个地方存参数,B 页面 mounted 再取
|
5
Biwood 2020-01-16 18:17:38 +08:00 3
如果你要通过阻止用户返回上一页的方式来解决页面传参问题,那么你的程序设计**一定**有问题。
|
6
lbw 2020-01-17 10:12:20 +08:00
1. 返回按钮的本质撤消当前历史记录,所以不存在返回按钮会 push
2. 如果 A 和 B 都是在 vue-router 下,B -> A,要实现 A 无法返回 B 的话,那么 B -> A 应该用 router.replace 而不是 router.push,即用 B 的历史记录覆盖 A 的历史记录 |