举个defineProps() 和 defineEmits()例子
时间: 2023-10-12 09:16:34 浏览: 81
好的,让我来为您解答。defineProps() 和 defineEmits() 是 Vue 3 中的新功能,可以方便地管理组件内部的属性和事件。
举个 defineProps() 的例子,假设有一个组件需要接收一个名为“message”的参数,并且该参数是一个字符串类型,代码可以如下:
```
import { defineProps } from 'vue';
export default {
props: defineProps({
message: {
type: String,
required: true
}
}),
// ...
}
```
这里使用了 `defineProps()` 函数来声明一个名为 `message` 的属性,其类型为字符串,并且是必需的。组件通过 `props` 选项来声明组件属性。
再举个 defineEmits() 的例子,假设有一个组件需要触发一个名为“submit”的事件,代码可以如下:
```
import { defineEmits } from 'vue';
export default {
emits: defineEmits(['submit']),
methods: {
handleClick() {
this.$emit('submit');
}
},
// ...
}
```
这里使用了 `defineEmits()` 函数来声明一个名为 `submit` 的事件,组件通过 `emits` 选项来声明组件事件。在组件内部的方法中,通过 `$emit()` 方法触发组件事件。
希望这些例子能帮助您更好地了解 `defineProps()` 和 `defineEmits()` 函数的用法。
阅读全文