emit向父组件发送事件

来源:8-6 创建 Message 组件

Hania冲鸭

2023-02-15

老师你好,这节课听下来发现,这里写的emit向父组件发送事件,实际好像并没有用到啊,父组件里也没有这个方法

  emits: ['close-message'],
  setup (props, context) {
    const node = document.createElement('div')
    node.id = 'message'
    document.body.appendChild(node)
    // 用这个字段表示message是否显示
    const isVisible = ref(true)
    const classObject = {
      'alert-success': props.type === 'success',
      'alert-danger': props.type === 'error',
      'alert-primary': props.type === 'default'
    }
    // 点击关闭图标触发这个方法
    const hide = () => {
      isVisible.value = false
      context.emit('close-message', true)
    }
    return {
      isVisible,
      classObject,
      hide
    }
  }
写回答

2回答

慕虎3082565

2024-05-20

在这看了半天以为干了什么大事 .....

0
0

张轩

2023-02-16

同学你好

我们设计组件是考虑扩展性的,所以一般一些特殊的操作最好都发射对应的事件出去,这样也可以给使用者更多更强大的功能,所以这里虽然没用,但是以后有可能会用到,比如你点击关闭以后,父组件想要弹出一些什么对应的信息。

所以扩展性也是设计组件的一个重要考虑因素。

0
1
Hania冲鸭
明白了,谢谢老师
2023-02-16
共1条回复

Vue3 + TS 仿知乎专栏企业级项目

带你完成前后端分离复杂项目,率先掌握 vue3 造轮子技能

3142 学习 · 2313 问题

查看课程