defineEmits定义参数类型
时间: 2023-10-20 18:27:53 浏览: 119
vue3+ts组件练习文件
defineEmits用于定义组件向外部传递事件的参数类型。通过使用defineEmits,可以在组件中声明事件,并指定每个事件的参数类型。在Vue 3中,可以使用以下两种方式定义参数类型:
1. 在js写法中,可以使用以下语法:
```javascript
const emits = defineEmits({
onClick: (data: number) => {},
onChange: () => {}
})
```
其中,onClick事件接受一个名为data的number类型参数,而onChange事件没有参数。
2. 在ts写法中,可以使用以下语法:
```typescript
const emits = defineEmits<{
onClick: (e: 'onClick', data: number) => void,
onChange: (e: 'onChange') => void
}>()
```
其中,onClick事件接受一个名为e的值为'onClick'的参数和一个名为data的number类型参数,而onChange事件接受一个名为e的值为'onChange'的参数。注意,这里的void表示这个函数没有返回值。
因此,通过defineEmits可以为组件定义事件参数的类型,以便在组件中正确地传递事件。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [vue3+ts组件练习文件](https://download.csdn.net/download/shaoyahu/87035327)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [vue3.2之defineEmits](https://blog.csdn.net/qq_52421092/article/details/131023219)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [vue3.0 语法糖内的defineProps及defineEmits](https://blog.csdn.net/m0_67390773/article/details/123219489)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
阅读全文