2017-02-12 6 views

答えて

4

の現在のパラメータは、snapshot field of the ActivatedRouteを使用して取得できます。

しかし、デフォルトでは、ルートから同じルートに移動してパラメータを変更するだけでは、ルータは同じコンポーネントを再利用します。したがって、そのコンポーネント内部からのパラメータ値の変更に対応できるようにするにはObservableが必要です。

たとえば、表示する演習のリストがあるとします。エクササイズをクリックすると、/exercises/1に行きます。エクササイズを表示するコンポーネントのテンプレート内には、「次へ」リンク/exercises/2があります。そのリンクをクリックすると、params Observableが新しい値を放出します。しかし、ルータはActivatedRouteの新しいインスタンスを作成せず、ExerciseComponentの新しいインスタンスを作成しません。 ExerciseComponentは、イベントが発生したときにエクササイズ2の詳細をロードするために、観測可能なparamsにサブスクライブする必要があります。

このようなリンクがない場合、スナップショットは必要なものだけで、パラメータは通常のオブジェクトとして含まれます。

関連する問題