进入列表页之后,自动请求后台数据,然后点击进入详情页,再返回的时候,想记住上一次列表页的位置,如何实现?
目前遇到了问题:
1:采用哪种方式去实现这个效果
1:从详情页返回列表页的时候,每次都会自动请求数据,导致根本无法记住位置
进入列表页之后,自动请求后台数据,然后点击进入详情页,再返回的时候,想记住上一次列表页的位置,如何实现?
目前遇到了问题:
1:采用哪种方式去实现这个效果
1:从详情页返回列表页的时候,每次都会自动请求数据,导致根本无法记住位置
解决方法主要是记录位置,上面几位都说的很清楚了,如果用的vue-router的话,可以放到meta中记录位置
1、页面离开时
beforeRouteLeave (to, from, next) {
// 这里写自己获取的位置
let position = document.getElementById('vux_view_box_body').scrollTop
if (to.path === '/home') {
from.meta.position = 0
} else {
from.meta.position = position
}
next()
}
2、回来当前页面,在mounted中$nextTick或setTimeout后scrollTo(0, position)
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
router.js
App.vue入口文件添加keep-alive
我记得上面就可以实现了,如果不可以那把下面加上试试我是这么实现的
router.js主要代码(也可以放到main.js)
utils/mixin.js