问题出险场景:
在微信小程序页面中,有三个tab标签来控制页面的切换,在其中一个页面用了scrollTop来记录页面滑动的距离,当点击tab标签切换到其他页面后,scrollTop值丢失被重置为0。
问题所在:
查看代码,看切换页面时,是否使用了v-if来进行页面的显示和隐藏。若使用了v-if则会出现此问题。
原因:
使用v-if来切换页面的隐藏和显示的话,当v-if为false时,被隐藏的所有元素节点将会被删除,当此元素再次显示时,会被再次创建,也就导致数据被重置了。
解决方法:
1.通过v-show控制不同tab标签页的显示和隐藏(v-show在小程序的某些标签中会失效,所以不建议)
2.通过绑定class的方式,将要隐藏的tab页面设置为display:none即可