Javascript 如何在VueJS 2.0中编写按钮组件

Javascript 如何在VueJS 2.0中编写按钮组件,javascript,vue.js,Javascript,Vue.js,我正在尝试编写一个按钮组件。我的问题是:如果我使用vm.$emit发送一个click事件,我就不能像这样将$event和其他参数注入类似于本机HTML元素的处理程序中 <button v-on:click="handler($event, 'other-parameter')" /> 因为处理程序将只接收传递到vm.$emit的参数。一种解决方案是将函数作为道具传递,但我希望该组件的工作方式与本机HTML元素类似。我可以这样做吗?怎么做呢?你为什么不能 在听众中 <com

我正在尝试编写一个按钮组件。我的问题是:如果我使用
vm.$emit
发送一个click事件,我就不能像这样将
$event
和其他参数注入类似于本机HTML元素的处理程序中

<button v-on:click="handler($event, 'other-parameter')" />

因为处理程序将只接收传递到
vm.$emit
的参数。一种解决方案是将函数作为道具传递,但我希望该组件的工作方式与本机HTML元素类似。我可以这样做吗?怎么做呢?

你为什么不能

在听众中

<component @buttonClicked="handleClick">

是的,我们可以做到。但这意味着组件的用户需要使用指定的处理程序签名。我想做的是创建一个无签名的处理程序,用户可以决定是否注入事件。
<component @buttonClicked="handleClick">