Vue2 通过.sync修饰符实现数据双向绑定

App.vue

<template>
  <div class="app">
    <button
    v-on:click='isShow=true'
    >退出按钮</button>
    <BaseDialog
    :visible.sync='isShow'
    ></BaseDialog>
  </div>
</template>

<script>
import BaseDialog from "./components/BaseDialog.vue"
export default {
  data() {
    return {
      isShow:false,
    }
  },
  methods: {
    
  },
  components: {
    BaseDialog,
  },
}
</script>

<style>
</style>

BaseDialog.vue

<template>
<!-- 通过v-show -->
  <div class="base-dialog-wrap" v-show='visible'>
    <div class="base-dialog">
      <div class="title">
        <h3>温馨提示:</h3>
        <button v-on:click='close' class="close">x</button>
      </div>
      <div class="content">
        <p>你确认要退出本系统么?</p>
      </div>
      <div class="footer">
        <button v-on:click='close'>确认</button>
        <button >取消</button>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  props:{
    visible:Boolean
  },
  methods:{
    close(){
      this.$emit('update:visible',false)
    }
  }
}
</script>

<style scoped>
.base-dialog-wrap {
  width: 300px;
  height: 200px;
  box-shadow: 2px 2px 2px 2px #ccc;
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  padding: 0 10px;
}
.base-dialog .title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px solid #000;
}
.base-dialog .content {
  margin-top: 38px;
}
.base-dialog .title .close {
  width: 20px;
  height: 20px;
  cursor: pointer;
  line-height: 10px;
}
.footer {
  display: flex;
  justify-content: flex-end;
  margin-top: 26px;
}
.footer button {
  width: 80px;
  height: 40px;
}
.footer button:nth-child(1) {
  margin-right: 10px;
  cursor: pointer;
}
</style>

相关推荐

  1. vue2 双向数据实现及原理

    2024-01-30 08:02:02       28 阅读
  2. Vue 双向数据

    2024-01-30 08:02:02       40 阅读
  3. Vue双向数据是如何实现

    2024-01-30 08:02:02       28 阅读
  4. Vue双向数据原理

    2024-01-30 08:02:02       63 阅读
  5. vue3组件数据双向

    2024-01-30 08:02:02       53 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-30 08:02:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-30 08:02:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-30 08:02:02       82 阅读
  4. Python语言-面向对象

    2024-01-30 08:02:02       91 阅读

热门阅读

  1. mysql 正则表达式用法(一)

    2024-01-30 08:02:02       48 阅读
  2. 第二章:Django的深度潜行

    2024-01-30 08:02:02       59 阅读
  3. 什么是单例模式?它的实现方式有哪些?

    2024-01-30 08:02:02       43 阅读
  4. ·中介者模式

    2024-01-30 08:02:02       63 阅读
  5. go 面试题

    2024-01-30 08:02:02       38 阅读