在vue2中使用自定义事件时,事件名有用到驼峰命名法(camelCase)时要注意,尽量别使用这种写法,不然会被警告,有时候可能导致事件不生效。建议推荐你始终使用短横线( kebab-case) 的事件名的写法。
不推荐的写法:
<div id="app">
<my-input :text="text" @myEvent="doSomething"></my-input>
</div>
这种写法,vue在编译为dom元素后,@myEvent会变成myevent。这样的话,在子组件中使用this.$emit('myEvent')时就会出现父组件中的doSomething()不能被调用。
始终建议的写法:
<div id="app">
<my-input :text="text" @my-event="doSomething"></my-input>
</div>