ActivatedRouteフィールドはObservablesです。たとえば、idパラメータまたはURLのn番目のセグメントだけを取得したいとします。単純なマップや配列の代わりにObservablesを使用します。これは、非同期の過剰使用ですか、本当に目的に必要なのでしょうか?なぜAngular 2がルーティングで単純な配列の代わりにObservablesを使用するのですか?
2
A
答えて
4
の現在のパラメータは、snapshot
field of the ActivatedRouteを使用して取得できます。
しかし、デフォルトでは、ルートから同じルートに移動してパラメータを変更するだけでは、ルータは同じコンポーネントを再利用します。したがって、そのコンポーネント内部からのパラメータ値の変更に対応できるようにするにはObservableが必要です。
たとえば、表示する演習のリストがあるとします。エクササイズをクリックすると、/exercises/1
に行きます。エクササイズを表示するコンポーネントのテンプレート内には、「次へ」リンク/exercises/2
があります。そのリンクをクリックすると、params
Observableが新しい値を放出します。しかし、ルータはActivatedRouteの新しいインスタンスを作成せず、ExerciseComponentの新しいインスタンスを作成しません。 ExerciseComponentは、イベントが発生したときにエクササイズ2の詳細をロードするために、観測可能なparamsにサブスクライブする必要があります。
このようなリンクがない場合、スナップショットは必要なものだけで、パラメータは通常のオブジェクトとして含まれます。
関連する問題
- 1. なぜwindow.locationの代わりにルーティングを使用するのですか?
- 2. Angular 2:なぜCDN参照の代わりにNPMマネージャを使用するのですか?
- 3. リンクでMVCルーティングの代わりにAngularJSルーティングを使用する
- 4. jQueryプラグイン単純な配列の代わりにオブジェクトを返すpublic関数
- 5. * ngForのAngular 2テンプレートでobservablesを使用
- 6. なぜFirebaseが辞書の代わりに配列を返すのですか?
- 7. Angular 2 Observables - switchMap/combineLatestの代わりに元の観測値を返す
- 8. C++での単純な配列の使用ですか?
- 9. なぜ、配列パーサーの代わりにオブジェクトパーサーを選択するのですか
- 10. 誰かが単純なPHPの代わりにZend Frameworkを使用する利点は何ですか?
- 11. なぜ単にfactor()の代わりにas.factor()を使うのですか
- 12. Slf4jはlogger4jの代わりに単純なslf4jを使用しています
- 13. Angular 2のCanActivateがPromiseの代わりにObservable <boolean>を返すのはなぜですか?
- 14. Angular Material2はEmulatedまたはNativeの代わりにViewEncapsulation.Noneを使用するのはなぜですか?
- 15. なぜ私が代わりに値(2次元配列)の配列のアドレスを取得しています
- 16. なぜSQLBRITEで、代わりにSQLiteを使用するのですか?
- 17. なぜangle2スタイルに文字列の代わりに文字列の配列があるのですか?
- 18. ngc + RollupバンドルAngular 2 RC.6ルーティングが失敗するのはなぜですか?
- 19. デフォルトハッシュプロバイダの代わりにAngular 2 WebpackでHTML5 Routerを使用する方法
- 20. WCF/Silverlight:なぜクライアントの代わりにChannelFactoryを使用するのですか?
- 21. なぜRabbitMQの代わりにCeleryを使用するのですか?
- 22. なぜJavaの代わりにClojureを使用するのですか
- 23. RELEASEの代わりにNDEBUGを使用するのはなぜですか?
- 24. なぜtf.stackの代わりにtf.concatを使用するのですか?
- 25. Symfonyプロキシの代わりにワニスを使用するのはなぜですか?
- 26. なぜWindows上で単純なFile.Writeのcgoを使用するのですか?
- 27. なぜAssembly.LoadFromの代わりにAssembly.LoadFileを使用しますか?
- 28. Javaで配列を使用する単純なHashTable実装ですか?
- 29. C#では、なぜStreamWriterの代わりにTextWriterを使用できますか?
- 30. なぜActiveResourceはオブジェクトの代わりに配列のハッシュを返しますか?