this.$emit(‘close‘) 的用法是用于子组件向父组件发送一个事件

       在 uni-app 中,this.$emit('close') 的用法是用于子组件向父组件发送一个事件。在这个自定义弹出框组件的例子中,当点击关闭按钮或者其他需要关闭弹出框的动作发生时,子组件会调用 this.$emit('close') 来通知父组件弹出框需要被关闭。

   父组件在使用这个自定义弹出框组件时,会监听这个 close 事件,并在事件处理函数中执行相应的逻辑,比如设置控制弹出框显示与隐藏的变量为 false,从而实现关闭弹出框的效果。

    下面是一个父组件使用自定义弹出框组件的示例,展示了如何在父组件中监听 close 事件并处理它:

<template>
  <view>
    <!-- 使用自定义弹出框组件,并监听 close 事件 -->
    <custom-popup v-show="showPopup" @close="onClose"></custom-popup>

    <!-- 触发显示弹出框的按钮 -->
    <button @click="showPopup = true">显示弹出框</button>
  </view>
</template>

<script>
import CustomPopup from '@/components/CustomPopup.vue'; // 引入自定义弹出框组件

export default {
  components: {
    CustomPopup // 注册自定义弹出框组件
  },
  data() {
    return {
      showPopup: false // 控制弹出框显示与隐藏的变量
    };
  },
  methods: {
    onClose() {
      // 关闭弹出框的逻辑
      this.showPopup = false;
    }
  }
};
</script>

      在这个示例中,父组件 data 中有一个 showPopup 变量,它控制着自定义弹出框组件的显示与隐藏。当点击按钮时,showPopup 被设置为 true,弹出框显示。在自定义弹出框组件中,当需要关闭弹出框时(比如点击了关闭按钮),会调用 this.$emit('close') 发送一个 close 事件。

      父组件在 <custom-popup> 标签上通过 @close="onClose" 监听了这个 close 事件,并指定了处理函数 onClose。当 close 事件被触发时,onClose 函数会被执行,它将 showPopup 设置为 false,从而关闭弹出框。

     这样,通过子组件发送事件和父组件监听事件的方式,实现了弹出框的关闭功能。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值