事件名
事件名不存在任何自动化的大小写转换,并且触发的事件名需要完全匹配监听这个事件所用的名称
举个栗子:(不会有效果)
//子组件
this.$emit('myEvent',eventName) //eventName是子组件下自定义的事件名,也可以是其他值
<!--父组件-->
<my-component v-on:my-event="doSomething"></my-component>
不同于组件和 prop,事件名不会被用作一个 JavaScript 变量名或 property 名,所以就没有理由使用 camelCase(驼峰命名) 或 PascalCase(帕斯卡命名) 了
帕斯卡命名法与骆驼命名法类似。只不过骆驼命名法是首字母小写,而帕斯卡命名法是首字母大写。 并且
v-on事件监听器在 DOM 模板中会被自动转换为全小写 (因为 HTML 是大小写不敏感的),所以v-on:myEvent将会变成v-on:myevent——导致myEvent不可能被监听到。
因此,推荐始终使用 kebab-case(短横线命名)的事件名
自定义组件的 v-model
这里的
lovingVue 的值将会传入这个名为 checked 的 prop。同时当 <base-checkbox> 触发一个 change 事件并附带一个新的值的时候,这个 lovingVue 的 property 将会被更新。