美文网首页
vue 有弹层时,实现页面不滚动

vue 有弹层时,实现页面不滚动

作者: AAA前端 | 来源:发表于2019-03-06 13:26 被阅读0次

项目里有个全屏的弹窗,然后弹窗下面手指滑动,页面仍然在滚动。 解决代码如下:

</template>
<script>
var preD = function(e) {
  e.preventDefault();
};
export default {  
  props: ["active"],
  watch: {
    active(flag) {
      if (flag) {
        document.body.style.overflow = "hidden";
        document.addEventListener("touchmove", preD, { passive: false }); //禁止页面滑动
      } else {
        document.body.style.overflow = ""; //出现滚动条
        document.removeEventListener("touchmove", preD, { passive: false });
      }
    }
  }
 
};
</script>
<style lang="scss" scoped>

弹窗组件接受父组件传递的active判断是否需要禁止屏幕滚动

相关文章

网友评论

      本文标题:vue 有弹层时,实现页面不滚动

      本文链接:https://www.haomeiwen.com/subject/hqutpqtx.html