Vue渲染问题以及穿透滚动
2019-01-07 本文已影响0人
念念璇语
在IOS上页面上有一个对话框弹出来的时候,这时你在页面上去上下滑动,会发现对话框后面的内容会出现滚动(不论是否有半透明浮层,对话框内容是否能滚动)
如何取解决穿透滚动:
一、若是对话框弹出时的穿透滚动
1.1 监听函数

1.2 添加和移除事件里面的第二个参数的那个函数要求是同一个函数,然而我封装的两个方法调用的其实是两个不同的函数,这就导致了移除滑动监听事件的时候并没有真正的移除,也就导致了其它页面的滚动出现问题

二、封装的组件穿透滚动
2.1 明确条件渲染的区别

2.2 选择v-show的时候出现穿透滚动,即在父级滚动的时候打开组件,组件也会出现滚动,目前选择的最快的解决方法是:打开子级组件的时候,将滚动条回到顶部
高是100%,不是可视区域的高 解决方法如下:

如果子组件在一屏上展示,即高为可视区域的高 解决方法

根据CSS3规范,视口单位主要包括以下4个:
vw : 1vw 等于视口宽度的1%
vh : 1vh 等于视口高度的1%
vmin : 选取 vw 和 vh 中最小的那个
vmax : 选取 vw 和 vh 中最大的那个