组件可以显式地通过 emits 选项来声明它要触发的事件:
html
<script>
export default {
emits:['increaseBy'],
}
</script>
这个 emits 选项和 defineEmits() 宏还支持对象语法。通过 TypeScript 为参数指定类型,它允许我们对触发事件的参数进行验证,这种公司项目中没出现过:
javascript
export default {
emits: {
submit(payload: { email: string, password: string }) {
// 通过返回值为 `true` 还是为 `false` 来判断
// 验证是否通过
}
}
}
注意如果一个原生事件的名字 (例如 click) 被定义在 emits 选项中,则监听器只会监听组件触发的 click 事件而不会再响应原生的 click 事件。