为了账号安全,请及时绑定邮箱和手机立即绑定

防止在 VueJS 中滚动

防止在 VueJS 中滚动

狐的传说 2021-07-06 13:10:57
我试图仅在灯箱组件打开时防止滚动,但似乎无法这样做。我希望不要使用任何外部库或插件来做到这一点。我的 App.vue 包含“LightBox”组件,所以我假设防止滚动功能也应该存在于 App.vue 中。App.vue 片段:<template>  <div class="SocialAlbumWidget">    <div v-if="isModalVisible && media[activeIndex]">      <LightBox        ...      />我目前在“方法”部分有一个“showModal()”函数,所以想通过另一个函数传递它。方法:mothods: {...showModal () {  this.isModalVisible = true},closeModal () {  this.isModalVisible = false}我希望主体在“灯箱”组件关闭时可以滚动,当“灯箱”组件打开时被禁用。谢谢!让我知道其他哪些代码会有用。
查看完整描述

2 回答

?
慕标琳琳

TA贡献1830条经验 获得超9个赞

现代解决方案:

LightBox仅防止滚动事件


<LightBox

 @wheel.prevent

 @touchmove.prevent

 @scroll.prevent

/>

Vanilla JavaScript在使用框架时避免代码,例如VUE.js


您可以设置样式,overflow: hidden但这不是理想的解决方案。虽然它产生了一些问题——

  • 滚动条将被隐藏

  • UI 会反弹,因为滚动条从 切换hiddenauto


查看完整回答
反对 回复 2021-07-15
  • 2 回答
  • 0 关注
  • 181 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信