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

时间:2017-04-24 03:34:51

标签: javascript vue.js

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

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

因为处理程序只接收传递给vm.$emit的参数。一种解决方案是将函数作为props传递,但我希望该组件像本机HTML元素一样工作。我可以这样做吗?又如何?

1 个答案:

答案 0 :(得分:0)

你为什么不能? https://vuejs.org/v2/api/#Instance-Methods-Events

methods: {
    handler($e, param) {
       $this.$emit('buttonClicked', $e, param);
    }
}

并在听众中

<component @buttonClicked="handleClick">