Vue 声明触发的事件:修订间差异
跳到导航
跳到搜索
无编辑摘要 |
无编辑摘要 |
||
第17行: | 第17行: | ||
</script> | </script> | ||
<pre> | <pre> | ||
defineEmits() 宏不能在子函数中使用。如上所示,它必须直接放置在 <script setup> 的顶级作用域下。 | defineEmits() 宏不能在子函数中使用。如上所示,它必须直接放置在 <script setup> 的顶级作用域下。 |
2024年1月30日 (二) 09:31的版本
组件可以显式地通过 defineEmits() 宏来声明它要触发的事件:
<script setup> defineEmits(['inFocus', 'submit']) </script>
我们在 <template> 中使用的 $emit 方法不能在组件的 <script setup> 部分中使用,但 defineEmits() 会返回一个相同作用的函数供我们使用:
<script setup> const emit = defineEmits(['inFocus', 'submit']) function buttonClick() { emit('submit') } </script>defineEmits() 宏不能在子函数中使用。如上所示,它必须直接放置在 <script setup> 的顶级作用域下。