在使用 elementUI
与 vue2.x
做封装表格组件的时候,将分页一起封装传参进去,但是 emit
与 on
监听的事件无法执行。
// 组件文件
sizeChange(size) {
this.$emit('size-change', size)
}
// 使用组件文件
<Table
...
@sizeChange="onSizeChange"
>
后经多放查阅询问,确认是 vue2.x
对于时间传递等参照的是原生 html
中自定义属性的语法,官网建议也是遵循此原则。所以在 elementUI
如果一边使用驼峰命名一边使用帕斯卡命名将导致无效。
而我之前使用的 antdv
开发,同样是 vue2.x
,但是记忆中就没有这种情况,在我的记忆中,一直认为是浏览器会像自定义属性一样自动将驼峰命名变为连字符命名,后面发现并不是, elementUI
认为这是 vue2
的问题,并不在它的优化中,所以出现了这个问题(当然也有可能以前用 antdv
开发的时候一直遵循原则没出过错,现在这个公司维护的以前的项目,emmm,屎山一言难尽,被同化了我也变成了一堆shit)。
解决方法就是两边都用同样的就可以了。