exc
V2EX  ›  问与答

Vue 路由前进和后退(浏览器)导致重复刷新问题如何解决呢?

  •  
  •   exc · Mar 17, 2021 · 1544 views
    This topic created in 1894 days ago, the information mentioned may be changed or developed.
    已经用了 keep-alive 标签,但 keep-alive 导致的一个问题是页面一旦创建就不会刷新了,除非手动更新。

    在 vue-router 里,手动更新就要在 beforeRouteEnter 和 beforeRouteUpdate 里操作,可这两个函数只有 to 和 from 参数,无法分辨前进和后退行为。虽然可以判断 from.name 来处理,但觉得好傻,而且路由一多,这函数就不能看了。

    不知道前端小伙伴们是怎么实现这一功能的呢?
    3 replies    2021-03-17 17:22:20 +08:00
    liyang5945
        1
    liyang5945  
       Mar 17, 2021
    keep-alive 会触发 activated 和 deactivated 生命周期,在这里面写更新操作就行了
    exc
        2
    exc  
    OP
       Mar 17, 2021
    @liyang5945 谢谢,就去试试
    exc
        3
    exc  
    OP
       Mar 17, 2021
    @liyang5945 可以了,不过对于像页面 A1, A2 A3, A4, A5 这样同级路由的刷新,前进后退怎么处理呢?好像还是要刷新啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   935 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 19:09 · PVG 03:09 · LAX 12:09 · JFK 15:09
    ♥ Do have faith in what you're doing.