我正在尝试编写一个按钮组件。我的问题是:如果我使用vm.$emit
发送点击事件,我不能将$event
和其他参数注入处理程序,就像这样的原生HTML元素
<button v-on:click="handler($event, 'other-parameter')" />
因为处理程序只接收传递给vm.$emit
的参数。一种解决方案是将函数作为props传递,但我希望该组件像本机HTML元素一样工作。我可以这样做吗?又如何?
答案 0 :(得分:0)
你为什么不能? https://vuejs.org/v2/api/#Instance-Methods-Events
methods: {
handler($e, param) {
$this.$emit('buttonClicked', $e, param);
}
}
并在听众中
<component @buttonClicked="handleClick">