vue中jsx语法nativeOn绑定事件监听无效?

有个组件中发射了这么一个事件

this.$emit('fail-to-load', this.src);

在vue中template如下写法可以监听到事件

<component @fail-to-load="failToLoad"></component>

jsx中如下两种写法都监听不到事件

onFailToLoad={() => this.failToLoad}
nativeOnFailToLoad={() => this.failToLoad}

请问,该如何解决?

阅读 7.8k
2 个回答

已解决:
事件名必须与$emit定义的名称一致,包括中划线的写法,改用驼峰无法获取

onFail-to-load={() => self.imgLoadedError()} // 可监听到组件发射回来的事件
{...{nativeOn:{click: this.failToLoad}}}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题