我有这个 vue 组件,当用户单击轮播上的图像时,它会在创建后显示全尺寸图像。当它打开时,用户应该不能滚动页面。目前我实现这一点的方式是直接使用 overflow:hidden; 设置 documentElement 的样式。或溢出:自动;当组件被创建或销毁时。
我的问题是这是否可以接受,或者是否有一种方法可以使用虚拟 DOM。我知道直接干扰 DOM 通常是不好的做法,但我似乎找不到让它工作的方法。我试过使用 this.$root.$el.style 但这似乎也不起作用。
<script>
export default {
props: ['imageSrc'],
created() {
document.documentElement.style.overflow = 'hidden';
},
beforeDestroy() {
document.documentElement.style.overflow = 'auto';
},
};
</script>