Vue组件的Events为什么隔代也能触发

新手上路,请多包涵

我在使用某UI库的Dialog组件,因需要满足业务要求,对Dialog组件又进行了一次封装,如取名叫MyDialog,伪代码如下:

<template>
  <Dialog>
       ...
  </Dialog>
</template>

<script>
  ...
</script>

在原Dialog组件中有一个Events叫做hide,在每次Dialog隐藏时调用,而我把该Events绑定在MyDialog组件上时,也能被调用,伪代码如下:

<template>
  <MyDialog
    @hide="hideCallback"
  ></MyDialog>
</template>

<script>
  export default {
    method: {
      hideCallback() {
        console.log('hideCallback能被调用!')
      }
    }
  }
</script>

请问这是什么原理?

阅读 1.1k
1 个回答

组件继承原因,
组件的 根 默认会继承父组件传递的 attrs。

关闭继承,新增组件选项,inherts:false

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题