【发布时间】:2020-01-25 22:47:57
【问题描述】:
单击图像会打开一个长长的滚动模式。问题是,如果您在模态中滚动也会滚动模态的背面。你是怎么解决的?
模态是一个组件。这是我的代码:
Carousel.vue
<template>
<div>
<div v-for="(item, index) in photos" :key="index">
<div @click="imgClick(item)" style="cursor:pointer;">
<img :src="item.thumbnail" />
</div>
<Modal v-if='item.show' @close="item.show = false">
<div slot='body'>
<img :src="item.thumbnail" :class="`img-index--${index}`"/>
</div>
</Modal>
</div>
</div>
</template>
<script>
import Modal from './Modal.vue'
export default {
props: {
items: { type: Array, default: () => [] }
},
data() {
return {
photos: {}
}
},
created() {
this.photos = this.items.map(item => {
return { ...item, show: false }
})
},
methods: {
imgClick(item) {
item.show = true
}
},
components: {
Modal: Modal
}
}
</script>
【问题讨论】:
-
这可能是一个 CSS 问题,这里已经有了答案。 stackoverflow.com/questions/9538868/…
-
@skribe 我没有使用像 Bootstrap 这样的 CSS 库。感谢您的搜索。
-
@zoecode 看看下面我的回答,如果有帮助请告诉我。干杯!
-
@zoecode 如果我的回答对您有帮助,请点赞并将其标记为“已接受”,以便将来对其他用户有所帮助。谢谢!
-
@Vince 我不知道如何向 添加类。我也不知道如何仅在模式打开时添加名为“modal-open”的类。我不太明白。抱歉回复晚了。
标签: vue.js scroll modal-dialog popup modalpopup