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

2021-03-17 15:49:55 +08:00
 exc
已经用了 keep-alive 标签,但 keep-alive 导致的一个问题是页面一旦创建就不会刷新了,除非手动更新。

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

不知道前端小伙伴们是怎么实现这一功能的呢?
976 次点击
所在节点    问与答
3 条回复
liyang5945
2021-03-17 15:54:52 +08:00
keep-alive 会触发 activated 和 deactivated 生命周期,在这里面写更新操作就行了
exc
2021-03-17 15:59:17 +08:00
@liyang5945 谢谢,就去试试
exc
2021-03-17 17:22:20 +08:00
@liyang5945 可以了,不过对于像页面 A1, A2 A3, A4, A5 这样同级路由的刷新,前进后退怎么处理呢?好像还是要刷新啊

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/762496

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX