🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
>[success] # emit -- defineEmits 1. `defineEmits`都只能在`<script setup>`中使用的**编译器宏**。他不需要导入,且会随着`<script setup>`的处理过程一同被编译掉。 2. `defineEmits`接收与`emits`选项相同的值 3. `defineEmits`的选项会从 setup 中提升到模块的作用域。因此,传入的选项不能引用在 setup 作用域中声明的局部变量。这样做会引起编译错误。但是,它*可以*引用导入的绑定,因为它们也在模块作用域内 ~~~html <script setup> const emit = defineEmits(['inFocus', 'submit']) function buttonClick() { emit('submit') } </script> ~~~ >[info] ## 官网 [# 组件事件](https://cn.vuejs.org/guide/components/events.html#usage-with-v-model)