帮我写一个vue3 关闭当前弹窗的代码
时间: 2024-03-05 22:48:45 浏览: 69
好的,以下是一个简单的 Vue3 关闭当前弹窗的示例代码:
在子组件中,你可以定义一个 `closeDialog` 方法来触发关闭事件:
```vue
<template>
<div class="dialog">
<button @click="closeDialog">关闭弹窗</button>
</div>
</template>
<script>
export default {
methods: {
closeDialog() {
this.$emit('close')
}
}
}
</script>
```
在父组件中,你可以使用 `v-if` 指令来控制弹窗的显示和隐藏,同时监听子组件的 `close` 事件来关闭弹窗:
```vue
<template>
<div class="app">
<button @click="showDialog">显示弹窗</button>
<div class="overlay" v-if="isDialogVisible">
<dialog-component @close="closeDialog"></dialog-component>
</div>
</div>
</template>
<script>
import DialogComponent from './DialogComponent.vue'
export default {
components: {
DialogComponent
},
data() {
return {
isDialogVisible: false
}
},
methods: {
showDialog() {
this.isDialogVisible = true
},
closeDialog() {
this.isDialogVisible = false
}
}
}
</script>
```
在上面的代码中,我们在父组件中使用 `isDialogVisible` 变量来控制弹窗的显示和隐藏。当我们点击显示按钮时,`isDialogVisible` 变量被设置为 `true`,弹窗就会显示出来。当我们在子组件中点击关闭按钮时,触发了 `close` 事件,父组件中的 `closeDialog` 方法被调用,`isDialogVisible` 变量被设置为 `false`,弹窗就会关闭。
阅读全文