[解決済み] Angular2のイベントはどのようなTypescriptタイプなのか
質問
htmlファイル内に以下のようなボタンがある場合
<button (click)="doSomething('testing', $event)">Do something</button>
また、対応するコンポーネントの中に、このような関数があります。
doSomething(testString: string, event){
event.stopPropagation();
console.log(testString + ': I am doing something');
}
に割り当てるべき適切な型はありますか?
$event
入力に割り当てるべき適切な型はありますか?
イベントパラメータ自体はオブジェクトですが、これを型オブジェクトに代入すると、エラーが発生します。
property 'stopPropogation' はtype objectに存在しません。
では、Typescript は何をもって
$event
の入力をどう考えるか?
どのように解決するのですか?
AlexJ氏の提案のように
あなたが通過したイベント
$event
は DOM イベントであるため、DOM イベントでない場合は
EventName
を型として使用します。
あなたの場合、このイベントは
MouseEvent
であり、ドキュメントによると、引用
は MouseEvent インターフェースは、ユーザーがポインティングデバイス (マウスなど) を操作することによって発生するイベントを表します。このインタフェースを使用する一般的なイベントには click、dblclick、mouseup、mousedown .
これらのすべての場合において、あなたは
MouseEvent
.
別の例:次のようなコードがあった場合
<input type="text" (blur)="event($event)"
イベントが発生したとき、あなたは
FocusEvent
.
イベントをコンソールログに記録すると、このようなメッセージが表示され、イベント名が表示されます。
FocusEvent {isTrusted: true, relatedTarget: null, view: Window, detail: 0, which: 0…}
ドキュメントを参照すれば、いつでも既存の イベント .
Edit
また、TypeScriptのチェックもできます。
dom.generated.d.ts
をクリックすると、すべての型付けが移植されます。あなたの場合
stopPropagation()
の一部である
Event
によって拡張され
MouseEvent
.
関連
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptでオブジェクトをディープクローンする最も効率的な方法は何ですか?
-
[解決済み] とは何ですか! (not not)演算子とは何ですか?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] TypeScriptでオブジェクトに動的にプロパティを割り当てるには?
-
[解決済み] TypeScriptのオブジェクトリテラルでの型定義
-
[解決済み】JavaScript版sleep()とは?)
-
[解決済み】TypeScriptのインターフェースと型について
-
[解決済み】タイプ 'EventTarget' にプロパティ 'value' が存在しない。
-
[解決済み] javascriptでオプションのパラメータを扱う
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptで次の要素/前の要素を取得しますか?
-
[解決済み] Javascriptによるタッチスクリーンデバイスの検出
-
[解決済み] reactのrender関数でdynamic hrefを作成するには?
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] アサインの左側にJavascriptのオブジェクトブラケット表記({ ナビゲーション } =)があります。
-
[解決済み] JavaScriptで:hoverのCSSプロパティを変更する
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。
-
[解決済み] javascriptでオプションのパラメータを扱う
-
[解決済み] Prototypeを使ってtextareaを自動サイズ調整するには?