在VueJS 2和JSX中使用带有事件侦听器的spread运算符

时间:2017-04-30 17:07:53

标签: javascript vue.js vuejs2

以下是我的问题的简单版本:

render (h) {
  let events = {onClick: handleClick}
  return (<div {...events}></div>)
}

onClick事件未添加到div元素,并且spread运算符适用于classstyle属性,但不适用于任何事件侦听器绑定(以onnativeOn)。有人可以解释为什么并为我提供一个解决方案,我可以在元素上绑定任意数量的事件吗?

1 个答案:

答案 0 :(得分:1)

它应该是这样的:

render (h) {
  const hi = function () {
    console.log('hello')
  }
  return (
    <div { ...{ on: {click: hi} } } > click me! </div>
  )
}

此处链接至babel-plugin-transform-vue-jsx issues