defineProps/defineEmits用法
时间: 2024-02-28 19:50:51 浏览: 70
defineProps和defineEmits是Vue 3中的两个新特性,用于定义组件的属性和事件。
1. defineProps用法:
- defineProps函数用于定义组件的属性,它接收一个对象作为参数,对象的键是属性名,值是属性的类型或配置选项。
- 通过defineProps定义的属性可以在组件中使用,并且支持类型校验和默认值设置。
- 在组件内部使用props选项来声明属性,并且通过props选项来接收defineProps定义的属性。
2. defineEmits用法:
- defineEmits函数用于定义组件的事件,它接收一个数组或对象作为参数,数组或对象的元素是事件名。
- 通过defineEmits定义的事件可以在组件中使用,并且支持类型校验和默认值设置。
- 在组件内部使用emits选项来声明事件,并且通过emits选项来触发defineEmits定义的事件。
示例代码如下:
```javascript
import { defineProps, defineEmits } from 'vue';
const MyComponent = {
props: defineProps({
// 定义一个名为message的属性,类型为String,且默认值为'Hello World'
message: {
type: String,
default: 'Hello World'
}
}),
emits: defineEmits(['click']),
methods: {
handleClick() {
// 触发click事件
this.$emit('click');
}
}
};
```
阅读全文