写业务逻辑的时候 经常遇到列表页进入详情页的场景,这时候一般产品经理就会要求返回的时候回到原来的滚动的位置。
这个需求也写过很多次了,在此分享一下。
keepAlive
要想记录滚动位置 先需要缓存该组件 这里用到了keepAlive组件
App.vue 组件
1 | <template> |
这里我把需要缓存的组件的name放在了vuex里,实现动态缓存
Store.js
1 | const aliveComponent = { |
要注意的是router.js 需要缓存的组件meta需要设置keepAlive=true
1 | { path: '/orderSearch',component:OrderSearch, meta: {title: '',keepAlive:true}} |
目标缓存组件
1 | <template> |