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() 会返回一个相同作用的函数供我们使用:


```vue
<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> 的顶级作用域下。