当前位置: 首页 > Web前端 > JavaScript

VUE路由跳转会记住滚动位置,返回时返回上次滚动位置

时间:2023-03-26 23:30:15 JavaScript

本方案的原理是通过使用Keep-Alive实现的,监听滚动事件,监听watch中的$route。使用watch监听$route的方案适用于滚动区域在子组件中的情况。因为,beforeRouteLeave路由导航守卫只能在路由组件中使用,不能被路由组件中的子组件触发。vue-router文档截图如下:本例使用element-ui下的el-table表格组件,native或者其他UI组件的思路都是一样的。router.js{path:'/dispatchDetail',name:'dispatchDetail',component:()=>import('@/views/dispatchDetail/index.vue'),meta:{title:'每日调度查询',keepAlive:true}//需要缓存},App.vue//缓存组件跳转的页面 //不需要缓存组件的页面dispatchDetail.vue