Vue 声明触发的事件:修订间差异
跳到导航
跳到搜索
(创建页面,内容为“ 组件可以显式地通过 defineEmits() 宏来声明它要触发的事件: <pre class="vue"><script setup> defineEmits(['inFocus', 'submit']) </script></pre> 我们在 <template> 中使用的 $emit 方法不能在组件的 <script setup> 部分中使用,但 defineEmits() 会返回一个相同作用的函数供我们使用: ```vue <script setup> const emit = defineEmits(['inFocus', 'submit']) function buttonClick() { emit('submit') } </…”) |
无编辑摘要 |
||
第8行: | 第8行: | ||
<script setup> 部分中使用,但 defineEmits() 会返回一个相同作用的函数供我们使用: | <script setup> 部分中使用,但 defineEmits() 会返回一个相同作用的函数供我们使用: | ||
<pre class="vue"> | |||
<script setup> | <script setup> | ||
const emit = defineEmits(['inFocus', 'submit']) | const emit = defineEmits(['inFocus', 'submit']) |
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> 的顶级作用域下。