どのように1つのサブスクリプションでそれらの両方にアクセスできますか?
ActivatedRoute
のActivatedRouteSnapshot
を使用できます。 ActivatedRouteSnapshot
インターフェイスはparams
とqueryParams
プロパティを持ち、同時に両方の値を取得できます。注:私たちだけ
constructor(private _route: ActivatedRoute) {
console.log(this._route.snapshot.params);
console.log(this._route.snapshot.data);
}
この技術を用いて、パラメータの初期値を取得する例Plunker
もう一つの方法は、params
とdata
がobservable
ているので、私たちは、その後でそれらにアクセスし、それらをマージするzip
演算子を使用することができます単一の購読しかし、params
またはdata
のいずれかが値を持たない場合、サブスクライブはトリガーされないことに注意してください。
this._route.params
.zip(this._route.data)
.subscribe((value) => {
this.id = value[0]["id"]; // get param
this.data = value[1]; // get data value
});
例Plunker
なぜ角度は、2つの別々の観測に入れていますか?
私はマニュアルを読んできましたが、あなたは正しいですが、別個の観察可能な部分にありますが、理由はわかりません。
によると、彼らはそうです。 this._route.params.subscribe and this._route.data.subscribe – Reynaldi
@Reynaldiええ、あなたは正しいです。私は間違っていた。申し訳ありませんが、私はより多くのドキュメントを読むべきです。 – Michael
@Reynaldi私は自分の答えを編集しました。お知らせ下さい。 – Michael