uniapp uni.$emit() 怎么用 有什么用
时间: 2024-12-17 15:16:30 浏览: 28
uniapp 中的 `uni.$emit()` 是用于组件间的通信机制,它允许将自定义事件从一个组件传递到另一个组件。这个函数的基本用法如下:
```javascript
// 发送者组件
this.$emit('custom-event-name', { data: '需要传递的数据' });
// 接收者组件
<template>
<button @click="handleCustomEvent">点击触发</button>
</template>
<script>
export default {
methods: {
handleCustomEvent() {
this.$on('custom-event-name', (data) => {
console.log('接收到数据:', data);
});
}
}
}
</script>
```
在上面的例子中,当发送者组件调用 `uni.$emit('custom-event-name')` 并传递数据时,接收者组件会通过 `@click="handleCustomEvent"` 的事件监听器捕获这个事件,并执行相应的处理函数。
`uni.$emit()` 的用途包括:
1. **父子组件通信**:通常用于父组件向子组件传递信息,比如改变状态或请求数据。
2. **兄弟组件间通信**:当多个组件需要共享状态或者通知彼此更新时,可以用自定义事件相互触发。
3. **响应式系统**:uniapp 的一些框架如vant组件库,可能会用到 `$emit` 来触发其内部的响应逻辑。
阅读全文