問題タブ [subject-observer]

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 に答える
400 参照

angular - サブジェクトを使用した 2 つのコンポーネント間の角度通信

2 つの角度コンポーネントがあり、クリックするだけで 1 つのコンポーネントから別のコンポーネントにオブジェクトを渡す必要があります。私の最初のコンポーネントには次のものがあります

ここで Event は私のカスタムモデルオブジェクトです:

イベント サービス ファイルは次のとおりです。

私の 2 番目のコンポーネントには、イベント データを受け取るための次のコードがあります。

しかし、2 番目のコンポーネントでイベント データを受信できないことに気付きました。ここで何が欠けていますか?2 番目のコンポーネントが最初のコンポーネントの子ではない場合に、あるコンポーネントから別のコンポーネントにこのイベント オブジェクトを渡す方法は他にありますか?

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

angular - サブジェクトのサブスクリプションがなくなったことを検出する

消費者が ID に基づいてさまざまな値を観察できるようにする角度サービスを実装しています。

その本質は次のようになります。

これが完全なスタックブリッツの例です

上記は正常に動作しますが、API を使用するのは少し面倒です (コンシューマーでは、すべてのサブスクリプションを手動で追跡し、適切にサブスクリプションを解除する必要があります)。

Observable次のようなを返すメソッドが必要です。

これにより、必要な値をパイプを使用してコンポーネント テンプレートから直接サブスクライブできるためasync、Angular がオブザーバーのサブスクライブ解除を処理します。

Subjectしかし、使用されなくなったs から未使用の s を削除するロジックを実装する方法がよくわかりMapません。それを行う良い方法はありますか?

これは、いくつかのテストケースを含む不完全なスタックブリッツの例です

0 投票する
3 に答える
1088 参照

angular - サブジェクト サブスクライブがコンポーネントでトリガーされない

Subject folder_id をサブスクライブしようとしているときに、ファイル コンポーネントで ID を渡しているときに、ボード コンポーネントでサブスクライブしていません。

この boardId 関数は、ファイル コンポーネントでボタンが押されるとトリガーされます。activateId は、URL のスナップショットから取得した ID です。

これは、ファイル コンポーネントから発行される ID をサブスクライブする必要があるボード コンポーネントの ngOnInit です。しかし、何らかの理由で、このコンポーネントで ID を取得しようとすると、このサブスクライブ機能が実行されません。

これがservice.tsファイルです:-

誰かがこの問題について私を助けてくれませんか、私は何日もこれにこだわっています。ありがとうございました。