vue3 emit多个参数
时间: 2024-09-14 19:06:18 浏览: 35
在Vue 3中,`emit` 函数用于在一个组件中触发自定义事件并传递数据。如果你想通过 `emit` 发送多个参数,你可以直接将它们作为数组或对象传递。这里有几个例子:
1. **数组形式**:
```javascript
this.$emit('my-event', [param1, param2]);
```
在这个例子中,`my-event` 是事件名,`[param1, param2]` 是传递的两个参数。
2. **对象形式** (如果有键值对):
```javascript
this.$emit('my-event', { key1: value1, key2: value2 });
```
这样可以更清晰地表示参数之间的关联。
3. **使用数组包装对象**:
如果你需要混合发送简单值和对象,可以先将所有参数放入一个数组:
```javascript
this.$emit('my-event', [param1, { key: value }]);
```
当你在接收端监听这个事件时,可以直接接收这些参数,例如:
```javascript
<template>
<button @click="handleEvent"></button>
</template>
<script setup>
import { onMounted } from 'vue';
function handleEvent(params) {
console.log('Event received:', params);
}
</script>
```
在组件的其他部分,`params` 就会是一个包含多个元素的数组或对象。
阅读全文