在使用this.$emit()时候,给报的警告
Extraneous non-emits event listeners (addBtn) were passed to component but could not be automatically;
<template>
//如果在子页面中的template模板中,没有添加div包裹组件内容,就会出现提示
“无关的非发出事件监听器(addBtn)被传递给组件,但无法自动继承,因为组件呈现片段或文本根节点。
如果侦听器仅用于组件自定义事件侦听器,请使用“emits”选项声明它。”
<!-- <div class="addBox"> -->
<button @click="add(1)">+1</button>
<button @click="add(10)">+10</button>
<!-- </div> -->
</template>
# 解决方法:
1. 直接在外面包裹一层div,问题直接解决
2. 在export dafault{
//数组写法
emits:['addBtn']
//对象写法--了解一下即可,平时用不到
// emits: {
// addBtn: function(count) {
// if (count <= 10) {
// return true
// }
// return false
// }
// },
}
注册声明一下所有的自定义发出事件,并且注册后也能父页面写自定义事件能友好的提示
# 在template中包裹一层div警告就已经消失,无论是否有报错,自定义组件最好都用emits注册声明一下