javascript - vue2.0为什么组件可以支持驼峰命名。
PHP中文网
PHP中文网 2017-04-11 13:17:35
[JavaScript讨论组]

目前没有使用虚拟dom,而是在vue文件里头编写组件的,印象中1.0时组件名要求小写和横线分隔,而目前升级成最新版后发现,组件命名成驼峰也能匹配到,这个是什么原因呢?望大神指点~~

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
ringa_lee

没看过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))
    })
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号