問題タブ [angular2-observables]

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

angular - ルート サブスクリプションの完了を検出するにはどうすればよいですか?

私はangular2を使用しています:

RxJS ドキュメントを見たところ、完了コールバックを追加できると書かれています。

ただし、この完了は決して発生しません。Angular2 の使用は通常とはObservables異なりますか?

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

angular - angular2 観察可能なデータを他のコンポーネントと共有することは可能ですか?

RESTful API を介してユーザーを取得するサービスがあります。Observable実装を使用します。

また、8 つの子コンポーネントを持つ親コンポーネントもあります。

親コンポーネントで単一の HTTP リクエストを作成して、ユーザーを取得し、その子コンポーネント間で共有できるかどうか、およびその方法を知りたいです。

親でユーザーを定義する呼び出しは次のとおりです。

次のように、ユーザー モデルを各コンポーネントの constructor() にインポートして注入しました。

ユーザーが親で定義されると、子コンポーネントでa を起動するボタンがあり、console.log(user)として返されundefinedます。

0 投票する
2 に答える
227 参照

angular - Observable DelegateのAngular2アクセスコンポーネントメンバー?

rxjs ObservableSubject をサブスクライブし、イベントが発生したときに iframe をリロードしようとしています。監視可能なデリゲートが起動していますが、コンポーネントの属性にアクセスする方法がわかりません。それらはすべて未定義です。ここにいくつかのスニペットがあります:

コンソールに「dt url undefined」と表示され続けます。dtUrl は iframe の src にバインドされているため、この監視可能なデリゲートの値を更新したいと考えていました。

ありがとう!

編集1


コンポーネントの完全なソース コードは次のとおりです。

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

angular - angular2でデータを取得してサブスクライブする方法

私は結果を取得しようとしていますが、それをオブザーバブルで割り当てようとしていますが、取得できません。誰か助けてください。

私は結果を取得しようとしていますが、それをオブザーバブルで割り当てようとしていますが、取得できません。誰か助けてください。

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

angular - Angular2 のオブザーバブルとプロミス

私は現在、SQLデータベースから一連のデータをロードする必要があるWebアプリケーションを開発しています(一部の従業員や作業計画など)。コンポーネントにルーティングされるたびに、データを更新すると、サーバーに送信され、何らかの成功またはエラー メッセージが返されます。

現時点ではオブザーバブルを使用していますが、希望どおりに動作しません。オブザーバブルを購読し、データを受け取り、購読を解除します(購読を解除する場所もわかりません.onDestroyまたはComplete私のサブの一部ですか?)。しかし、コードの実行がすべてのデータを受信する前に続行され、アプリケーションでエラーが発生するため、何らかの形でまだ非同期です。

これが私の実装の例です:

従業員コンポーネント:

従業員サービス:

これはここでよく聞かれるかもしれません。しかし、もっと多くの投稿を読んでも違いがわからないので、私はその違いについて本当に確信が持てません. 誰かが時間をかけて私を助けてくれませんか?

0 投票する
2 に答える
2901 参照

javascript - 配列フォームオブザーバブルを別の配列にマップする方法

私は現在this.route.url.subscribe(params=>...、ルートパラメータで何かをするために使用しています。サブスクライブした param 配列にいくつかのパラメーターがあるかどうかを確認したい。しかし、この配列には、属性URLSegmentsのみを確認したいものが含まれています。これをオペレーターpathで再マップする方法はありますか? のように配列全体を再マッピングしようとしましたが、配列自体に. 何か不足していますか?map
this.route.url.map(x=>x.path)path

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

caching - Angular2: オブザーバブルを使用した複数の http 呼び出し (先行入力) の例

そのため、アプリで次のことを行う必要があるいくつかのケースに取り組んでいます

イベントがトリガーされたら、次の操作を行います

  • リスト項目
  • そのコンテキストを持つデータが既にキャッシュされているかどうかを確認し、キャッシュされたものを提供します
  • キャッシュがない場合は、500 ミリ秒のデバウンス
  • 他の http 呼び出しが (同じコンテキストに対して) 実行されているかどうかを確認し、それらを強制終了します。
  • http 呼び出しを行う
  • 成功時キャッシュおよびモデル データの更新/置換

先行入力機能に関してはかなり標準的

これでオブザーバブルを使用したいのですが...途中で、以前の呼び出しが実行されている場合はそれらをキャンセルできます

それに関する良いチュートリアルはありますか?私は周りを見回していましたが、リモートで最新のものを見つけることができませんでした

OK、私が今やったことの手がかりを与えるために:

ここにデバウンスがありません

-- lodashのデバウンスを実装することになりました