刷新页面路由需要停留在当前路由 vue
时间: 2023-07-27 07:26:27 浏览: 371
antd vue 刷新保留当前页面路由,保留选中菜单,保留menu选中操作
5星 · 资源好评率100%
如果你想在刷新页面后仍然停留在当前路由,你可以使用 `beforeunload` 事件来拦截页面刷新,然后手动保存当前路由信息到 `localStorage` 中。当页面重新加载时,你可以从 `localStorage` 中获取之前保存的路由信息并使用 `router.push` 方法来跳转到该路由。下面是一个示例代码:
```javascript
// 在 beforeunload 事件中保存当前路由信息
window.addEventListener('beforeunload', function(e) {
localStorage.setItem('lastRoute', JSON.stringify(router.currentRoute))
})
// 在页面重新加载时获取之前保存的路由信息并跳转到该路由
window.addEventListener('load', function() {
const lastRoute = JSON.parse(localStorage.getItem('lastRoute'))
if (lastRoute && lastRoute.path !== router.currentRoute.path) {
router.push(lastRoute)
}
})
```
需要注意的是,这种方法并不是完全可靠的,因为用户可能会在浏览器中直接输入 URL 或者使用浏览器的前进/后退按钮来导航到其他页面。如果你需要更可靠的路由状态管理,可以考虑使用 Vuex 或者其他状态管理库来保存路由信息。
阅读全文