点击弹框外的部分弹框消失

自己写个弹框,两个小点,一个是垂直居中,一个是点击弹框外的部分弹框消失,点击弹框弹框不消失

环境是vue的环境,比较简单

<template>
    
   <div class="dialog" @click="closeDilaog" v-if="showDialog">
       <div class="dialog-content" ref="content">
           内容部分
       </div>
   </div>
</template>

<script>
    
    export default {
        data() {
            return {
                showDialog: false
            }
        },
        methods: {
           closeDilaog(e) {
               const content = this.$refs.content;
                if(!_con.isEqualNode(e.target) && e.target.contains(_con)) {
                  this.showDialog = !this.showDialog
                }
           }
       }
    }
</script>

<style>
    
    .dialog {
        position: fixed;
        top: 0;
        left: 0;
        display: flex;
        justify-content: center;
        align-items: center;
         100vw;
        height: 100vh;
        background: rgba(0, 0, 0, 0.5);
    }
    .dialog-content {
         200px;
        height: 200px;
        background: lightblue;
    }
</style>
原文地址:https://www.cnblogs.com/xuyan1/p/10233812.html