vue3-浏览器告警解决: Extraneous non-emits event listeners (queryList, closeDialog) were passed to

在Vue3中遇到浏览器警告,提示关于非发射事件监听器的问题。警告指出在组件间传递的事件没有正确声明。解决方法是使用`defineEmits`明确列出要发射的事件,例如`defineEmits([queryList,closeDialog])`,然后正常调用`emit`方法。这样可以消除警告并确保事件处理的正确性。
摘要由CSDN通过智能技术生成

最近用vue3编写,经常功能可以实现但是浏览器一大堆警告,强迫症看着实在太难受了。。。

其中一个warn是:

[Vue warn]: Extraneous non-emits event listeners (queryList, closeDialog) 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. 

 翻译过来是:

额外的非发射事件侦听器(queryList、closeDialog)已传递给组件,但由于组件呈现片段或文本根节点,因此无法自动继承。如果侦听器仅作为组件自定义事件侦听器,请使用“emits”选项声明它。

查了资料才发现是因为子组件调用父组件的方法时有点不一样

之前是这样的:

const emit = defineEmits();
emit("queryList");
emit("closeDialog");

 修改:

const emit = defineEmits(["queryList","closeDialog"]);
emit("queryList");
emit("closeDialog");

把父组件内的方法再在defineEmits里面声明一遍就可以了 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值