I have a pop-up modal that is being called by another componenent, however, when clicked, it does not show the dialog, only the overlay is visible. Basically, It's not changing from "modal fade" to "modal show" automatically as it does with bootstrap.
This is the modal component:
<template>
<div>
<div id="myModal" class="modal">
<!-- Modal content -->
<div class="modal-content">
<span class="close" @click="$emit('close')">×</span>
<div class="modal-header">
<p>{{ title }}</p>
</div>
<div class="modal-body">
<slot></slot>
</div>
</div>
</div>
</div>
</template>
which is called by another component in this way:
<template>
<div class="box">
<div>
<a
id="myBtn"
@click="showModal = true"
:href="javascript:;"
>
<div class="grid">
<p
class="mosiac_title"
>
{{ title }}
</p></div
></a>
</div>
<!-- overlay -->
<div
class="p_overlay"
v-if="showModal"
@click="showModal = false"
></div>
<PopUpModal
v-show="showModal"
@close="showModal = false"
:title="title"
>
<slot></slot>
</PopUpModal>
</div>
</template>
script>
import PopUpModal from "./PopUpModal.vue";
export default {
props: ["title", "link"],
mounted() {
console.log("Box mounted.");
},
components: {
PopUpModal,
},
data() {
return {
showModal: false,
};
},
};
</script>