• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

vue2 this.$emit(“update:xx“,value)和xx.sync的用法

武飞扬头像
老胡说前端
帮助1

1 父组件

<div>

      <!-- dialog 弹框-->

      <button @click="visible = !visible" >点击弹框</button>

        //第一种用法

      <!-- <dialog-one  visible="visible" @update:visible="changeMessage" > -->

        //第二种用法

      <dialog-one  :visible.sync="visible" >

        <template v-slot:title>

          <h3>标题</h3>

        </template>

        <template>

          <p>主体内容,随便写点什么...</p>

          <p>主体内容,随便写点什么...说你想说的</p>

          <!-- <input type="text" placeholder="请输入信息" /> -->

        </template>

        <template v-slot:footer>

          <!-- <btn-one /> -->

          <button class="qx" @click="visible = false">取消</button>

          <button class="qd" type="primary" @click="visible = false">确定</button>

        </template>

      </dialog-one>

    </div>

 data(){

    return{

      visible: false,

    }

  },

  methods:{

    changeMessage(str){

      alert(1)

      this.visible = str;

    }

  }

2 子组件

<template>

  <div>

    <transition name="dialog-fade">

      <!--self:事件修饰符,只有点击自己才触发,点击子元素不触发  -->

      <div class="dialogWrapper" v-show="visible" @click.self="handleClose">

            <button class="dialogHeaderbtn" @click="handleClose">

              x

            </button>

        </div>

</transition>
 

 methods: {

    handleClose() {

      //visible是父组件传过来的props,子组件不能直接修改,需要子传父

      this.$emit("update:visible", false);//子组件传递到父组件,用以上两种方法任意一种都可以

        //第一种用法,必须在methods中写函数

  <!-- <dialog-one  visible="visible" @update:visible="changeMessage" > -->

        //第二种用法: 不需要写函数,直接父组件可以接受响应。

   //   <dialog-one  :visible.sync="visible" >

    },

  }

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgekgjf
系列文章
更多 icon
同类精品
更多 icon
继续加载