mirror of
https://github.com/taigrr/wails.git
synced 2026-04-02 05:08:54 -07:00
51 lines
1.9 KiB
Plaintext
51 lines
1.9 KiB
Plaintext
---
|
|
title: 事件
|
|
sidebar_position: 2
|
|
---
|
|
|
|
# 事件
|
|
|
|
## 概述
|
|
|
|
Wails 运行时提供了一个统一的事件系统,其中事件可以由 Go 或 Javascript 发出或接收。可选地,数据可以与事件一起传递。侦听器将接收本地数据类型中的数据。
|
|
|
|
### 添加事件侦听器
|
|
|
|
Go 方法签名: `EventsOn(ctx context.Context, eventName string, callback func(optionalData ...interface{}))`
|
|
|
|
JS 方法签名: `EventsOn(eventName string, callback function(optionalData?: any))`
|
|
|
|
此方法为给定的事件名称设置一个侦听器。当一个`eventName`类型的事件被[触发指定事件](#触发指定事件)时,回调被触发。与触发事件一起发送的任何其他数据都将传递给回调。
|
|
|
|
### 移除事件侦听器
|
|
|
|
Go 方法签名: `EventsOff(ctx context.Context, eventName string)`
|
|
|
|
JS 方法签名: `EventsOff(eventName string)`
|
|
|
|
此方法取消注册给定事件名称的侦听器。
|
|
|
|
### 添加只触发一次的事件侦听器
|
|
|
|
Go 方法签名: `EventsOnce(ctx context.Context, eventName string, callback func(optionalData ...interface{}))`
|
|
|
|
JS 方法签名: `EventsOnce(eventName string, callback function(optionalData?: any))`
|
|
|
|
此方法为给定的事件名称设置一个侦听器,但只会触发一次。
|
|
|
|
### 添加指定对多触发次数的事件侦听器
|
|
|
|
Go 方法签名: `EventsOnMultiple(ctx context.Context, eventName string, callback func(optionalData ...interface{}), counter int)`
|
|
|
|
JS 方法签名: `EventsOnMultiple(eventName string, callback function(optionalData?: any), counter int)`
|
|
|
|
此方法为给定的事件名称设置一个侦听器,但最多只能触发`counter`次。
|
|
|
|
### 触发指定事件
|
|
|
|
Go 方法签名: `Events(ctx context.Context, eventName string, optionalData ...interface{})`
|
|
|
|
JS 方法签名: `Events(ctx context, optionalData function(optionalData?: any))`
|
|
|
|
此方法触发指定的事件。可选数据可以与事件一起传递。这将触发任何事件侦听器。
|