【发布时间】:2021-07-17 01:54:17
【问题描述】:
我试图在单击按钮时显示项目详细信息,我已将数据正确转到模态,但我似乎无法让模态实际显示。我在模板中尝试了不同的模态实现,我得到的关闭是在按钮按下时出现灰色屏幕。我现在不知道该怎么做,因为我在模态上尝试的每个教程似乎都不适合我。我正在使用 VUE CLI 版本 2
主页.vue
<template>
<div class="home">
<Navbar />
<Ordertiles @childToParent="onClickChild"/>
<div v-if="showModal">
<Modal @close="toggleModal" :header="item.header" :text="item.text" :image="item.img"/>
</div>
</div>
</template>
<script>
// @ is an alias to /src
import Navbar from '@/components/Navbar.vue'
import Ordertiles from '@/components/Ordertiles.vue'
import Modal from '@/components/Modal.vue'
export default {
name: 'Home',
components: {
Navbar,
Ordertiles,
Modal
},
data() {
return {
item: '',
showModal: false
}
},
methods: {
toggleModal() {
this.showModal = !this.showModal
},
onClickChild(item) {
this.item = item
console.log(this.item)
this.toggleModal()
}
}
}
</script>
Modal.vue
<template>
<div class="modal">
<div class="container">
<div class="modal__title">Direction</div>
<p>{{header}}</p>
<img v-bind:src="image">
<p> {{text}} </p>
<button class="mt-3 border-b border-teal font-semibold">Close</button>
</div>
</div>
</template>
<script>
export default {
props: ['header', 'text', "image"],
methods: {
close () {
this.$emit('close')
}
}
}
</script>
<style lang="css" scoped>
.modal {
background-color: rgba(0, 0, 0, 0.7);
}
</style>
【问题讨论】:
标签: javascript html vue.js