イベント
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)