vue Subscribe to all custom events on a child component

js4nwp54  于 4个月前  发布在  其他
关注(0)|答案(2)|浏览(48)

这个功能解决了什么问题?

使编写 Package 组件变得更容易

提议的API应该是什么样子?

当v-on接收到一个函数时,它应该触发子组件发出的每个自定义事件

<my-custom-component v-bind="$props" v-on="onAnyEvent"></my-custom-component>

参数一可以是事件的名称

onAnyEvent(eventName, eventArgs) { // do something }
m2xkgtsf

m2xkgtsf1#

在我看来,在代理事件的情况下,v-on="$listeners会更直观。如果情况是你想要为不同的事件做不同的事情。

<my-custom-component v-bind="$props" v-on="onAnyEvent"></my-custom-component>

onAnyEvent(eventName, eventArgs) {
  switch (eventName) {
    case 'click':
    case 'input':
  }
}

并不比:

<my-custom-component v-bind="$props" v-on="{ click: handler1, input: handler2 }"></my-custom-component>

更容易。

pes8fvy9

pes8fvy92#

这个想法是将每个事件 Package 起来,并将它们平等对待(就像从 Package 器组件重新发出一样)。

相关问题