vue-router 组合式API为什么不提供beforeRouterEnter? #2430
Unanswered
LostElkByte
asked this question in
Help and Questions
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
需求描述:
1.在 A 页面(keep-alive 为 true)中,用户滑动页面到距顶部 200px 的位置。
2.用户从 A 页面跳转到 B 页面,在跳转之前使用 onBeforeRouteLeave 存储当前页面的滑动位置(距顶部的 200px)。
3.当用户从 B 页面返回到 A 页面时,恢复 A 页面跳转前的滑动位置(即滚动到距顶部 200px 的位置)。
问题:
由于 Vue 3 的组合式 API 不提供 onBeforeRouteEnter 钩子,导致在 B 页面返回到 A 页面时,我不知如何优雅的使用组合式 API 恢复滚动位置。
我当前有两个解决方案:
1.通过在 A 页面多添加一个script并且使用选项式 API 来解决该问题
2.通过在A页面使用,onActivated来替代beforeRouteLeave,因为我设置了keep-alive为true。
但是我觉得这样并不好,是否有更优化的解决办法?
Beta Was this translation helpful? Give feedback.
All reactions