問題タブ [angular-event-emitter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
95 参照

angular - Angular イベントの発行に関する問題

最近、友人のためにプロジェクトを開始しましたが、イベントを使用する必要があります。以前に一度だけ使用したことがあります(念のため)。残念ながら、親にエミットをキャッチさせることができないようです。ここにいくつかのコードがあります
:

親htmlは次のとおりです。

親の typesecript は次のとおりです。

エミットのログは存在しますが、キャッチのログはありません。何か案は?私はそれをうまくやっているように感じますが、私は本当に迷っています。

0 投票する
1 に答える
301 参照

angular - Angular 8で同じイベントで以前の発行を中断する方法

ユーザーがテーブル内の行を選択するたびにデータグリッド テーブルを更新するアプリがあります。ここで簡単にするために、サンプルコードがあります:

child-component.ts

ユーザーがテーブルのrowSelectedEvent行をクリックすると、HTML でトリガーされます。これは例です:

app.component.html

app.component.ts

このコードは正常に動作し、新しいデータを含む API 応答を受け取ります。サーバー側が計算を行い、新しい値を返すまでに約 4 ~ 5 秒かかります。この問題は、ユーザーが数行を繰り返しクリックしたり、短時間でクリックしたりすると発生します。これは、アプリが異常になり、データが 1 回 (最後の 1 回) ではなく複数回更新されるためです。使用してみunsubscribe()ましたが、再度サブスクライブできないため、機能が失われます。私も試してみましswitchMap()たが、何らかの理由でコードをデバッグすると、コードが入りません。

アイデアは、ユーザーが新しい行をクリックしたときに保留中のプロセスを停止し、最後のクリックだけが計算を行い、応答を受け取るようにすることです。何かアドバイス?

0 投票する
1 に答える
188 参照

angular - Angular: テストで EventEmitter を強制的にフラッシュする方法

次のAngularテストがあります:

をフラッシュできずeventEmitter2、テストが失敗しますEventEmmiter.emit()テストでどのようにフラッシュできますか?

注: これは、内部的asyncに使用する Angular のパイプを使用する私のテストの簡略化されたバージョンです。EventEmitter

ここに画像の説明を入力