使用uniapp 做小程序已经大半年了。uniapp 相比原生的小程序省事儿很多,而且能兼容多平台H5,app,微信小程序,支付宝小程序等。
但辩证的看待问题,有利就有弊。用uniapp 开发离不开看文档,当你用到一个个vue特性的需要确认在uniapp中支不支持。
就比如今天的标题如果说在vue中使用keep-alive就能轻松解决,而这个属性在uniapp中不支持。所以我使用scrollTop来实现类似效果。
uniapp的页面生命周期函数onPageScroll可以拿到滚动距离的值。
1,将top值 存到data中。
onPageScroll : function(e) { this.scrollTop = e.scrollTop; },
2,在点击跳转详情的方法中,将top值存缓存。
toDetail(id) { uni.setStorage({ key:"listTop", data:this.scrollTop }) ... }
3,在onShow中使用uni.pageScrollTo 将缓存的top值渲染到页面上。
onShow() { //滚动条 uni.getStorage({ key:"listTop", success: (res) => { if(!isNaN(res.data)){ var lefts = uni.pageScrollTo({ scrollTop:res.data, duration:0 }) } } }) },
4,页面关闭时将top值清空
onUnload() { uni.setStorage({ key:"listTop", data:0 }) }
好了,打完收工,希望可以帮到你。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。