uni.$on怎么使用函数
时间: 2024-09-14 21:09:23 浏览: 52
`uni.$on` 是 UniApp 框架中的一个方法,用于监听全局的自定义事件。当你需要在应用的不同部分之间进行通信,或者在某些操作完成后需要执行一些回调函数时,可以使用这个方法来绑定事件监听器。
以下是使用 `uni.$on` 的基本语法和步骤:
1. 首先,在需要触发事件的地方,使用 `uni.$emit` 方法来发出一个自定义事件。`uni.$emit` 方法接受两个参数:事件名称和传递给事件监听器的参数。
2. 然后,在需要响应事件的地方,使用 `uni.$on` 方法来监听刚才发出的事件。`uni.$on` 方法接受两个参数:事件名称和一个回调函数。当事件被发出时,这个回调函数会被执行,并接收到 `uni.$emit` 发出的参数。
3. 事件监听器可以在任何组件或页面中进行绑定,而且可以绑定多个监听器到同一个事件上。
示例代码如下:
```javascript
// 在组件A中发出事件
export default {
methods: {
triggerEvent() {
// 触发名为 'custom-event' 的自定义事件,并传递数据
uni.$emit('custom-event', { data: '这是事件数据' });
}
}
}
// 在组件B中监听事件
export default {
mounted() {
// 监听名为 'custom-event' 的自定义事件
uni.$on('custom-event', (eventData) => {
console.log('监听到事件', eventData);
});
},
beforeDestroy() {
// 组件销毁前移除监听器,防止内存泄漏
uni.$off('custom-event');
}
}
```
在上述代码中,组件A在某个操作后触发了一个名为`custom-event`的事件,并传递了一条数据。组件B监听了这个事件,并在事件触发时执行了回调函数,打印出了事件数据。
阅读全文