Wenn ich navigiert werden programmatisch navigate
Methode des RoutersAngular 2 Unterschied zwischen Routenparameter Stil
this.router.navigate(['/articles', {id: 1}]);
Ergebnis url ist /articles;page=1
und der zweite Weg
this.router.navigate(['/articles', id]);
Ergebnis url /articles/1
In beiden ist Variante Ich kann Werte über this.activatedRoute.params.forEach((params: Params) => {});
Was ist der Unterschied außer Stil?
P.S. Gefunden question auf Unterschiede zwischen Abfrage params & Matrix im Zusammenhang params
Thx für die Löschung, aber was ist die beste Wahl für die Einstellung optionaler Parameter wie Seitenzahl:/Artikel? Seite = 1 oder/Artikel; Seite = 1? – neilhem
Das hängt davon ab, was Sie erreichen möchten. ': id' wird für die Routenanpassung verwendet. Abfrage- und Matrixparameter leiten Werte einfach weiter, ohne für die Routenanpassung in Betracht gezogen zu werden. Es hängt auch davon ab, ob Sie möchten, dass '/ articles' eine gültige Route ist oder nur'/articles/someid'. –
Eigentlich ist '/ article; page = 1' ungültig. Es gibt eine Veränderung, die dies zu einem Fehler macht. Wie bereits erwähnt, werden optionale Routenparameter auf der Root-Route als Abfrageparameter serialisiert, daher ist nur die erste gültig. '/ parent/child; someparam = somevalue? page = 1' wäre gültig, weil' someparam' ein Parameter auf einer untergeordneten Route ist. Ich weiß nicht, wie sich das verhält, wenn Sie eine leere Pfad-Root-Route haben und "Artikel" die untergeordnete Route ist. In diesem Fall könnte Ihr zweites Beispiel gültig sein. Musste testen, um zu wissen, wie das resultierende Verhalten aussehen würde. –