扫码关注官方订阅号
目前没有使用虚拟dom,而是在vue文件里头编写组件的,印象中1.0时组件名要求小写和横线分隔,而目前升级成最新版后发现,组件命名成驼峰也能匹配到,这个是什么原因呢?望大神指点~~
认证0级讲师
没看过vuejs的源码。我个人猜测应该是它的框架中,有代码对驼峰命名做了处理,能自动变成小写和横线分割。
我知道,angular里面是说,html 不区分大小写,所以把驼峰命名变为横线+小写,即横线+小写就是一个大写字母。
vue.js 里面也是类似。
vue里有转换方法
var hyphenateRE = /([^-])([A-Z])/g; var hyphenate = cached(function (str){ return str .replace(hyphenateRE, '$1-$2') .replace(hyphenateRE, '$1-$2') .toLowerCase() })
cached是生成函数的一个带缓存的版本
function cached(fn) { var cache = Object.create(null); return (function cachedFn(str){ var hit = cache[str]; return hit || (cache[str] = fn(str)) }) }
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
没看过vuejs的源码。
我个人猜测应该是它的框架中,有代码对驼峰命名做了处理,能自动变成小写和横线分割。
我知道,angular里面是说,html 不区分大小写,所以把驼峰命名变为横线+小写,即横线+小写就是一个大写字母。
vue.js 里面也是类似。
vue里有转换方法
cached是生成函数的一个带缓存的版本