defineEmits 里面的类型声明是属于什么?

这种大括号里面声明函数的方式叫什么? 有没有相关的文档?

const emit = defineEmits<{

(e: 'change', id: number): void

(e: 'update', value: string): void

}>()


回答:

这是 TypeScript 的写法,参考 官方文档。

注意 definePropsdefineEmits 不是实际函数,不要把它们当成普通函数来用。我之前写过一篇博客,可以参考:理解 Vue3 里的 defineProps 和 defineEmits。


回答:

只说写法的话很像 TS 泛型,类型是一个对象包含两个方法,但是 defineEmits 文档说不是函数,是编译器宏,而且在编译期间有特殊处理,因此只是写法像 TS 泛型而已。

以上是 defineEmits 里面的类型声明是属于什么? 的全部内容, 来源链接: utcz.com/p/932920.html

回到顶部