简单介绍一下使用背景,有相同情况的可用这个方法。
在Vue.js中, 主界面有多个地方点击添加故障,可滚动。

子组建弹出来也可以滚动。

子组建滚动,会带动主i界面滚动,导致返回后主界面不在原来的位置显示。
解决方案:先创建三个方法。在显示子组件的时候调用this.bodyFixed(); 子组件消失的时候调用this.bodyInitial();
bodyScroll(event){
event.preventDefault();
},
bodyFixed () {
document.body.addEventListener('touchmove',this.bodyScroll,false);
$('body').css({'position':'fixed',"width":"100%"});
},
bodyInitial () {
document.body.removeEventListener('touchmove',this.bodyScroll,false);
$("body").css({"position":"initial","height":"auto"});
},
有些功能觉得好难好难啊,其实自己耐心一下,路没有想象的崎岖。