vue中自定义组件的命名规则详解
更新时间:2025年08月01日 08:31:52 作者:小星星星★
Vue组件在HTML中需用连字符分隔(如like-big),因HTML不区分大小写会自动转为小写,导致无法匹配组件,直接使用大写会导致解析错误,正确写法应遵循HTML标签转义规则
问题
vue中自定义的组件名在html中字母大写会报错
- html:

- js:

自定义的组件中字母可以大写,但是在html标签中,字母有大写的就会报错
原因
- 这是因为html中不区分大小写,所以在html中如果写为 likeBig,就会自动解析为 likebig
- 匹配的优先顺序从高到低为:原标签名、likeBig化的标签名、LikeBig化的标签名
- 而由于 html解析成likeBig时,相当于将该标签当成了一个单词进行了转换,所以它的匹配顺序为likebig,likebig,Likebig,所以找不到对应组件
解决的办法
- 在html标签中将两个单词用-隔开,like-big,这时就相当于是两个单词
- 会依次匹配 like-big,likeBig,LikeBig
总结
vue中是支持命名中有字母大写的,但是模板解析插入dom时,不区分大小写,都转成了小写,所以会导致,匹配不到对应的组件
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Vue3使用defineAsyncComponent实现异步组件加载的代码示例
在 Vue 3 中,异步组件加载是一种优化应用性能的重要手段,通过异步加载组件,可以减少初始加载时的资源体积,从而提升应用的加载速度和用户体验,本文将详细介绍如何使用 defineAsyncComponent 实现异步组件加载,并提供相关的代码示例,需要的朋友可以参考下2025-03-03
vue2 elementui if导致的rules判断失效的解决方法
文章讨论了在使用Vue2和ElementUI时,将if语句放在el-form-item内导致rules判断失效的问题,并提出了将判断逻辑移到外部的解决方案,感兴趣的朋友一起看看吧2024-12-12
如何巧用Vue.extend继承组件实现el-table双击可编辑(不使用v-if、v-else)
这篇文章主要给大家介绍了关于如何巧用Vue.extend继承组件实现el-table双击可编辑的相关资料,不使用v-if、v-else,文中通过实例代码介绍的非常详细,需要的朋友可以参考下2022-06-06


最新评论