1***@qq.com
1***@qq.com
  • 发布:2020-11-25 18:14
  • 更新:2020-11-26 11:59
  • 阅读:648

【报Bug】nvue页面下,组件使用 kebab-case 的事件名,不生效

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win 10

HBuilderX类型: 正式

HBuilderX版本号: 2.9.8

手机系统: 全部

手机厂商: 华为

页面类型: nvue

打包方式: 云端

项目创建方式: HBuilderX

测试过的手机:

手机型号: iPhone X,系统:13.6.1

操作步骤:

伪代码如下

// 组件自定义事件名  
onClick(){  
    this.$emit('on-click', 'kebab-case')  
},  
onClick2(){  
    this.$emit('onClick', 'camelCase')  
},

在页面中使用
···
<page-head title="组件$emit测试" @on-click="onAttr"></page-head>
···
详细代码在附件中

预期结果:

组件自定义事件名支持kebab-case ,camelCase 形式,在模板中始终使用全小写形式

实际结果:

vue页面中,组件使用 kebab-case 的事件名生效,但在nvue页面不生效
在nvue页中,组件使用 camelCase 事件名是生效的,但在vue页面不生效

bug描述:

vue页面中,组件使用 kebab-case 的事件名生效,但在nvue页面不生效,请问是什么原因
在nvue页中,组件使用 camelCase 事件名是生效的,但在vue页面不生效,请问是什么原因

2020-11-25 18:14 负责人:无 分享
已邀请:
DCloud_uniCloud_JSON

DCloud_uniCloud_JSON

事件名
不同于组件和 prop,事件名不存在任何自动化的大小写转换。而是触发的事件名需要完全匹配监听这个事件所用的名称。举个例子,如果触发一个 camelCase 名字的事件:
监听自定义事件全部统一用驼峰法就都兼容
详情https://cn.vuejs.org/v2/guide/components-custom-events.html#%E4%BA%8B%E4%BB%B6%E5%90%8D

  • 1***@qq.com (作者)

    问题是 nvue不支持kebab-case 的事件名

    2020-12-01 13:39

  • DCloud_uniCloud_JSON

    回复 1***@qq.com: 那就全部驼峰法就都兼容了呀

    2020-12-01 14:28

  • 1***@qq.com (作者)

    回复 DCloud_uniCloud_JSON: 规范问题,因为市面上大部分vue组件都是用kebab-case命名,只有weexui,uni-ui 是有兼容的

    2020-12-01 15:08

该问题目前已经被锁定, 无法添加新回复