小程序 eventChannel 对象正确初始化
时间: 2023-08-03 07:03:58 浏览: 101
小程序中的 eventChannel 对象可以用于在页面间传递数据。正确初始化 eventChannel 对象需要以下步骤:
1. 在源页面中,使用 wx.eventChannel() 方法创建一个 eventChannel 对象,并将其赋值给一个变量。
例如:
```
const eventChannel = this.getOpenerEventChannel();
```
2. 在目标页面中,使用 onLoad() 生命周期函数获取从源页面传递过来的 eventChannel 对象,并将其赋值给一个变量。
例如:
```
onLoad: function(options) {
const eventChannel = this.getOpenerEventChannel();
// ...
}
```
注意:在目标页面中,必须使用 getOpenerEventChannel() 方法获取 eventChannel 对象。
3. 在源页面中,调用 eventChannel.emit() 方法触发一个自定义事件,并在该事件的回调函数中传递需要传递的数据。
例如:
```
eventChannel.emit('eventName', {data: 'hello'});
```
4. 在目标页面中,调用 eventChannel.on() 方法监听自定义事件,并在该事件的回调函数中获取传递过来的数据。
例如:
```
eventChannel.on('eventName', function(data) {
console.log(data); // 输出 {data: 'hello'}
});
```
这样,就可以正确地初始化 eventChannel 对象并在页面间传递数据了。
阅读全文