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

H5 首页路由问题

  •  
  •   Departures · 2021-05-24 08:33:30 +08:00 via iPhone · 2691 次点击
    这是一个创建于 1274 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在使用 vue-router 的时候遇见了一个问题:在 h5 入口页滑动返回不会退出 h5,而是会回退到之前访问过的子页面,请问各位大大怎么解决?
    9 条回复    2021-05-24 16:44:29 +08:00
    kop1989
        1
    kop1989  
       2021-05-24 08:57:51 +08:00
    “退出 h5”是什么概念?
    MonkeyD1
        2
    MonkeyD1  
       2021-05-24 09:00:40 +08:00
    Location.replace()
    MonkeyD1
        3
    MonkeyD1  
       2021-05-24 09:00:54 +08:00   ❤️ 1
    bzw875
        4
    bzw875  
       2021-05-24 09:02:44 +08:00
    因为子页面也是路由,记录在历史记录了。解决办法就是子页面不用路由,设置一个状态字段控制显示隐藏更新
    MonkeyD1
        5
    MonkeyD1  
       2021-05-24 09:02:52 +08:00   ❤️ 1
    vue router 的话 router.replace(location, onComplete?, onAbort?)
    跟 router.push 唯一的不同就是,它不会向 history 添加新记录,而是跟它的方法名一样 —— 替换掉当前的 history 记录。
    workg
        6
    workg  
       2021-05-24 09:08:32 +08:00
    进入你 h5 应用的第一个页面为路由栈底,后续的页面都会在上面。
    如果想要首页为第一个路由,需要把首页更新为栈底。可以通过 router.replace 等方法
    h1104350235
        7
    h1104350235  
       2021-05-24 10:03:33 +08:00
    如果是 app 内嵌 h5 的话,需要客户端提供一个关闭 webview 的方法。
    zhuweiyou
        8
    zhuweiyou  
       2021-05-24 10:54:16 +08:00
    监听 pop state 调用关闭 webview 的方法, 如果是微信内, 可以 wx.closeWindow()
    sjhhjx0122
        9
    sjhhjx0122  
       2021-05-24 16:44:29 +08:00
    子页面的返回用 replace,不要用 push
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1009 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:50 · PVG 05:50 · LAX 13:50 · JFK 16:50
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.