不同于组件和prop,事件名不逊在任何自动化的大小写转换。而是
触发的事件名需要完全匹配监听这个事件所用的名称。
如果触发一个camelCase名字的事件:
this.$emit("myEvent")
则监听这个名字的kebab-case版本是不会有任何效果的:
这种写法没有效果~!
<my-component v-on:my-event="doSomething"></my-component>
不同于组件和prop,事件名不会被用作一个JavaScript变量名或属性名,
所以就没有理由使用camelCase或PascalCase了。并且
v-on事件监听器在dom模版中会被自动转换为全小写(因为
html是大小写不敏感的),所以v-on:myEvent 将会变成
v-on:myevent --- 导致myEvent不可能被监听到。
所以,事件名就要用 kebab-case 这种格式