Extraneous non-emits event listeners (xxx) were passed to component but could not be automatically i

Extraneous non-emits event listeners (editItem, delItem) were passed
to component but could not be automatically inherited because
component renders fragment or text root nodes. If the listener is
intended to be a component custom event listener only, declare it
using the “emits” option.
无关的非emits事件侦听器(editItem、delItem)已传递给组件,但无法自动继承,因为组件呈现片段或文本根节点。如果侦听器仅用于组件自定义事件侦听器,请使用“emits”选项声明它。

在这里插入图片描述
最近使用vue3写,我真麻了,疯狂报这个错误,刚开始通过翻译是说
在这里插入图片描述
我就以为是我父子组件传值中的emit写法有问题,还特意专门用方法来包裹下,结果是一直报这个错误。百度说是有个根组件才行。。。

<button class="edit_btn" @click="edit(i) ">编辑</button>
<button class="del_btn" @click="$emit('delItem',i)">删除</button>

 const edit = (index) => {
      emit('editItem', index);
    };

于是我在子组件加了个根元素,还是报这个错误。。。
在这里插入图片描述
于是我又去给父组件加。。。
在这里插入图片描述
错误消失。。。
我不理解,vue3不是有个特点就是不需要写根元素吗,template下能有多个子元素。。。不是很理解

  • 23
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 22
    评论
评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值