前端时间在尝试使用vue3开发新的一套组件,并且使用script-setup这个实验特性
虽然vue3+script-setup使用起来很爽,但是在用到defineEmits时碰到一个问题:
图1
将dinfineEmits复制给变量emits时,不知为何emits是一个null值?!
图2
谷歌、百度了一遍,发现网上几乎没有使用script-setup出现该问题的,最后只得重新创建一个新的项目(构建最新版本的vue、vite等组件依赖),测试了一下,结果就没问题了:
总结:可能是早期创建项目时依赖的组件版本过旧,并且存在一些bug(当时也没有withDefaults这个API),使用新版本解决问题!