【发布时间】:2020-07-20 19:35:35
【问题描述】:
所以我想从父组件切换我的模态对话框,我尝试了这里提到的每个步骤Stack Overflow Question about same Topic,但我的模态对话框仍然不可见,当我从 VUE 控制台看到它时它甚至具有未定义的值。并且在元素部分没有创建模态对话框 div。
MY MODAL DIALOG 未显示在网页的元素部分,但显示在 Vue 控制台中,具有未定义的 prop 值。但是单击效果正在父组件中起作用。当我点击 div 时,modal 设置为 true。
我的家长代码
<template>
<div class="collection">
<section class="section section-elements">
<div class="elements-outer" @click="openModal">
<CopyComponent v-bind:item="item"/>
</div>
</section>
<modal v-modal="modal"/>
</div>
</template>
<script>
import Modal from "../components/Modal.vue";
export default {
name: 'Collection',
components: {
Modal
},
data() {
return {
modal: false
}
},
methods: {
openModal() {
this.modal = !this.modal;
}
}
}
</script>
我的子组件
<template>
<div v-if="value" class="modal">
<div class="body">
body
</div>
<div class="btn_cancel" @click="modalToggle">
<i class="icon icon-cancel" />
</div>
</div>
</template>
<script>
export default {
name: "Modal",
props: ["value"],
methods: {
modalToggle() {
this.$emit("input", !this.value);
}
}
};
</script>
我错过了什么吗?
请帮忙,谢谢。
【问题讨论】:
-
如果不使用引导程序,这两个答案都有效,但如果有人使用引导程序,那么他必须删除默认引导程序类并使用自定义 css 的自定义类。有关更多信息,请访问:adamwathan.me/2016/01/04/… 查看接受回复本帖:stackoverflow.com/questions/42890385/…
标签: javascript vue.js vuejs2 vue-component vuex