Vue 声明触发的事件:修订间差异

来自泡泡学习笔记
跳到导航 跳到搜索
无编辑摘要
无编辑摘要
 
第16行: 第16行:
}
}
</script>
</script>
<pre>
</pre>


defineEmits() 宏不能在子函数中使用。如上所示,它必须直接放置在 &lt;script setup&gt; 的顶级作用域下。
defineEmits() 宏不能在子函数中使用。如上所示,它必须直接放置在 &lt;script setup&gt; 的顶级作用域下。

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