vue做的app返回上一页取消滚动条置顶?使用keep-alive遇到了困难?
问题描述
vue开发app返回上一页滚动条位置置顶了
代码如下,首先用keep-alive
标签包住:
<template>
<div id="app">
<div style="opacity: 0;position: absolute;z-index: -1">
<audio id="hg-msg-play" paused="paused" controls="controls">
<source :src="sound" type="audio/mp3" />
</audio>
<span id="hg-play-box">播放</span>
</div>
<transition :name="$store.state.tabDirection"> 动态获得transition 的name值
<keep-alive>
<router-view></router-view>
</keep-alive>
</transition>
</div>
</template>
跳转出去跟回来:
activated(){
console.log('回来了')
document.documentElement.scrollTop=200
console.log(document.documentElement.scrollTop)
},
methods: {
// //根据路径跳转下个页面
afterMe(ev,url){
this.$router.push(url)
},
浏览器输出:
这里都设定成功了,滚动条还在最上面返回后手机画面滚动条还是在最上面,如何解决啊卡了6个小时了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
改好了,将keep-alive外面的transition给去掉就可以了
可以用
this.$nextTick(() => { document.documentElement.scrollTop=200 })
或者`setTimeout(() => {document.documentElement.scrollTop=200 }, 1000)`试一下先。
需要在离开的时候存起来,返回再设置
activated(){
},
deactivated() {
},