美文网首页
vue之props和自定义事件的驼峰命名

vue之props和自定义事件的驼峰命名

作者: wjing静 | 来源:发表于2022-04-22 17:35 被阅读0次

在vue官网中有这样的说明:HTML 中的特性名是大小写不敏感的,所以浏览器会把所有大写字符解释为小写字符。这意味着当你使用 DOM 中的模板时,camelCase (驼峰命名法) 的 prop 名需要使用其等价的 kebab-case (短横线分隔命名) 命名。
但是,如果使用的是字符串模板的话,就不存在这个限制了。

image.png
链接地址:https://cn.vuejs.org/v2/guide/components-props.html#Prop-%E7%9A%84%E5%A4%A7%E5%B0%8F%E5%86%99-camelCase-vs-kebab-case
源码说明:

在Vue的源码中创建Vue组件的时候createComponent(),解析组件的相关属性

// extract props
var propsData = extractPropsFromVNodeData(data, Ctor, tag);

而,在extractPropsFromVNodeData()中,Vue通过调用内部方法hyphenate,把驼峰形式的属性转换为横断线形式

var hyphenateRE = /\B([A-Z])/g;
var hyphenate = cached(function(str){
  return str.replace(hyphenateRE,'-$1').toLowerCase()
})

除此之外,Vue在initProps(),validateProp()时,都将驼峰形式的属性转换为横断线形式

但是对于事件来说,并没有把驼峰命名转成短横线的这一步,所以自定义事件必须要用小写命名或者用短横线命名,不能使用驼峰命名。


链接地址:https://cn.vuejs.org/v2/guide/components-custom-events.html#%E4%BA%8B%E4%BB%B6%E5%90%8D

相关文章

  • vue之props和自定义事件的驼峰命名

    在vue官网中有这样的说明:HTML 中的特性名是大小写不敏感的,所以浏览器会把所有大写字符解释为小写字符。这意味...

  • vue命名规范

    自用vue变量命名规范 props 驼峰式命名 事件 组件 组件文件 基础组件名 基础组件名 name Pasca...

  • Vue props 单向数据流

    1、props通信 注意:DOM模板的驼峰命名props要转为短横分割命名。 传递动态数据(v-bind): 2、...

  • 组件通信

    命名规则 html:使用kebab-case(短横线分割)props:使用camelCase(驼峰命名) 父子组件...

  • 事件系统

    事件要遵循小驼峰的命名法则 小驼峰命名参考 合成的事件对象 nativeEvent 获取原有的事件对象

  • Swift命名规范

      在Swift中自定义名字的时候,通常是采用驼峰命名法,也就是混合大小写字母来命名。驼峰命名法又分为小驼峰和大驼...

  • vue组件的使用

    props和$emit 组件间通讯和自定义事件 父子通讯 props $emit兄弟组件或者隔代组件使用自定义事件...

  • Vue易错点整理,长期的。。。

    1、在写子组件名和监听自定义事件时,命名不能采用驼峰命名发,否则对应的组件不显示,对应的方法不执行,被坑到了,切记...

  • Vue模板中组件名(自定义标签)使用

    模板中使用的自定义组件的命名同时支持PascalCase(驼峰命名) 和 kebab-case (连字符分隔命名)...

  • 小程序开发 wepy/mpvue/uni-app/taro

    框架简介: wepy: 接近于 Vue.js,类Vue开发,支持组件 Props 传值,自定义事件、组件分布式复用...

网友评论

      本文标题:vue之props和自定义事件的驼峰命名

      本文链接:https://www.haomeiwen.com/subject/qgpnertx.html