事件
Wails 运行时提供了一个统一的事件系统,其中事件可以由 Go 或 JavaScript 发出或接收。 或者,数据可以与事件一起传递。 监听器将在本地数据类型中接收数据。
EventsOn
此方法为给定事件名称设置监听器。 当类型为 eventName
的事件 发出 时,回调会被触发。 与发出的事件一起发送的任何附加数据都将传递给回调。 它返回一个函数来取消监听器。
Go: EventsOn(ctx context.Context, eventName string, callback func(optionalData ...interface{})) func()
JS: EventsOn(eventName string, callback function(optionalData?: any)): () => void
EventsOff
此方法取消注册给定事件名称的监听器,可选地可以通过 additionalEventNames
取消注册多个监听器。
Go: EventsOff(ctx context.Context, eventName string, additionalEventNames ...string)
JS: EventsOff(eventName string, ...additionalEventNames)
EventsOnce
此方法为给定事件名称设置监听器,但只触发一次。 它返回一个函数来取消监听器。
Go: EventsOnce(ctx context.Context, eventName string, callback func(optionalData ...interface{})) func()
JS: EventsOnce(eventName string, callback function(optionalData?: any)): () => void
EventsOnMultiple
此方法为给定事件名称设置监听器,但最多触发 counter
次。 它返回一个函数来取消监听器。
Go: EventsOnMultiple(ctx context.Context, eventName string, callback func(optionalData ...interface{}), counter int) func()
JS: EventsOnMultiple(eventName string, callback function(optionalData?: any), counter int): () => void
EventsEmit
此方法发出给定事件。 可选数据可以与事件一起传递。 这将触发任何事件监听器。
Go: EventsEmit(ctx context.Context, eventName string, optionalData ...interface{})
JS: EventsEmit(eventName: string, ...optionalData: any)