defineEmits 里面的类型声明是属于什么?
这种大括号里面声明函数的方式叫什么? 有没有相关的文档?
const emit = defineEmits<{ (e: 'change', id: number): void
(e: 'update', value: string): void
}>()
回答:
这是 TypeScript 的写法,参考 官方文档。
注意 defineProps
和 defineEmits
不是实际函数,不要把它们当成普通函数来用。我之前写过一篇博客,可以参考:理解 Vue3 里的 defineProps 和 defineEmits。
回答:
只说写法的话很像 TS 泛型,类型是一个对象包含两个方法,但是 defineEmits 文档说不是函数,是编译器宏,而且在编译期间有特殊处理,因此只是写法像 TS 泛型而已。
以上是 defineEmits 里面的类型声明是属于什么? 的全部内容, 来源链接: utcz.com/p/932920.html