Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
4.1k views
in Technique[技术] by (71.8m points)

vue,列表页跳转到详情页,返回的时候保持默认的滚动位置的同时(缓存),如何状态发生改变?

比如有一个类似朋友圈的列表页,点击进入详情

然后从详情返回列表页的时候,依旧保持原本的滚动位置

??的效果利用keep-alive缓存和路由方法存储滚动位置可以做到

image
如图,就是目前已实现的效果

目前的问题是:我在详情页点了赞,是希望返回列表页的时候,这个赞也是能及时更新的

但是缓存的页面要如何更新这个状态呢?

如果在activated()方法里请求数据,会导致页面数据的重新渲染。那么返回页面的时候,会触发滚动到之前的位置,这个效果不大好

如下图

image

如何能在更新状态的同时,又能在返回的时候,就在刚刚的位置?不用触发滚动?


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

因为 keep-alive 缓存,可以通过 eventBus 进行事件通知,列表页里监听修改相应列表项的数据。
列表页 eventBus.$on,详情页点赞后 eventBus.$emit


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...