- EventChannel.emit(事件名称, 参数) 触发一个事件。
- 向被打开页面传送数据。
- 在多个页面中间建立数据通道。
- 触发后将参数以对象的形式传给这个事件。
wx.navigateTo({
url: '',//跳转到这个页面
events: {
yyyy: function (data) {
xxxx
},
success: function(res) {
res.eventChannel.emit('transmissionA',{ data: ''})
}
});
- EventChannel.on(string eventName, EventCallback fn) 持续监听一个事件。
onLoad: function (options) {
eventChannel.on('transmissionA', function(data) {
})
}
- EventChannel.once(string eventName, EventCallback fn) 监听一个事件一次,触发后失效。
- EventChannel.off(string eventName, EventCallback fn) 取消监听一个事件。给出第二个参数时,只取消给出的监听函数,否则取消所有监听函数。
2. 阻止冒泡:
<van-button @click.stop="clickTab">我是按钮</view>
- 在没有
.stop 的情况下,点击事件会从最内层的元素开始向外层元素传播,直到达到文档根节点。如果某个外层元素也有绑定点击事件,那么这个事件也会被触发。但是,加上 .stop 后,点击事件会被立即停止,不会继续向上传播,仅当前绑定 @click.stop 的元素上的事件处理器会被执行。