刷新页面路由需要停留在当前路由 vue
时间: 2023-07-27 19:26:27 浏览: 361
vue 解决addRoutes动态添加路由后刷新失效问题
如果你想在刷新页面后仍然停留在当前路由,你可以使用 `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 或者其他状态管理库来保存路由信息。
阅读全文