V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ChengNaNA
V2EX  ›  Vue.js

小白请教下 vue 怎么阻止一些手机自带的返回键

  •  
  •   ChengNaNA · 2020-01-16 17:30:20 +08:00 · 3254 次点击
    这是一个创建于 1533 天前的主题,其中的信息可能已经有所发展或是发生改变。

    正常情况下:按页面 A 中的返回按钮 push 返回到页面 B 并传某个参数。 手机返回键下:页面 A 直接返回到上个页面 B,然后页面 B 缺了某个参数。 前端小白百度也找不到明确方法,求大佬们好心解答,谢谢!

    6 条回复    2020-01-17 10:12:20 +08:00
    LyleRockkk
        1
    LyleRockkk  
       2020-01-16 17:38:18 +08:00
    你 google "js 阻止 手机返回键返回",就知道了
    xiangyuecn
        3
    xiangyuecn  
       2020-01-16 17:49:55 +08:00
    一进页面二话不说,先 history.pushState 10 次,占满后退历史,不够? 100 次
    chairuosen
        4
    chairuosen  
       2020-01-16 17:50:53 +08:00
    就不该这么设计,应该在 A 的 beforeRouteLeave 里找个地方存参数,B 页面 mounted 再取
    Biwood
        5
    Biwood  
       2020-01-16 18:17:38 +08:00   ❤️ 3
    如果你要通过阻止用户返回上一页的方式来解决页面传参问题,那么你的程序设计**一定**有问题。
    lbw
        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 的历史记录
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3238 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:54 · PVG 21:54 · LAX 06:54 · JFK 09:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.