[TypeScript]カスタムイベントを使用する

この記事は約2分で読めます。
スポンサーリンク

やりたいこと

TypeScriptでカスタムイベントを発火して、イベントをトリガにして処理を行います。

スポンサーリンク

実装

イベントの送信

以下のコードでイベントを送信させます。

const event = new CustomEvent("event_name", { detail: { val1: "value 1", val2: "value 2" } });
dispatchEvent(event);

“event_name”は任意の好きな名前に変更します。

detail objectの中身は自由に変更可能です。

イベントの受信

イベントの受信は以下の通りです。

addEventListener("event_name", (e) => {
        console.log ((e as CustomEvent).detail.val1+ (e as CustomEvent).detail.val2));
    })

“event_name”は発火させたイベント名に変更します。

detailにアクセスする場合 as CustomEventをつけずにe.detailとすると”Property ‘detail’ does not exist on type ‘Event’.”のエラーになります。(JavaScriptではエラーになりません)

スポンサーリンク

結果

TypeScriptで任意のカスタムイベントを送受信することができました。

スポンサーリンク

参考にさせていただいたサイト

イベントの作成と起動 - イベントリファレンス | MDN
この記事では、 DOM イベントを作成して処理する方法を説明します。このようなイベントは、一般に、ブラウザー自体によって起動されたイベントとは対照的に、合成イベントと呼ばれます。

コメント

タイトルとURLをコピーしました