Czy to wystarczy zastosować względny adres URL lub coś bardziej skomplikowanego?
Jest to względny adres URL zbudowany z kawałków możesz dostarczyć poprzez commands
param i biorąc pod uwagę dodatkowe parametry, które przechodzą w extras
(The NavigationExtras object).
Na przykład można użyć relativeTo
do nawigacji z aktywnej trasy lub z trasy głównej. Możesz ustawić parametry zapytania lub fragment dla adresu URL, do którego nawigujesz (queryParams
i fragment
w dodatkach) lub zachować parametry zapytań, które są obecne w bieżącym adresie URL (queryParamsHandling
w dodatkach).
Tak więc, ogólnie rzecz biorąc, jest to coś bardziej skomplikowanego niż nawigacja po adresie URL, ponieważ dynamicznie budujemy URL.
Jakiego rodzaju delta dotyczy w przypadku nawigacji absolutnej?
To samo względnej i absolutnej nawigacji - Delta jest zestaw zmian (commands
) stosuje się do aktualnej trasy (względnej) lub na trasie głównej (absolutny) przenoszą zgłoszenie do nowego stanu (a po prostu podając nowy adres URL za pośrednictwem navigateByUrl
).
W prostym przypadku, jeśli coś zrobić jak this.router.navigate(['/heroes'])
to faktycznie nie jest bardzo różni się od korzystania z navigateByUrl
, ale następujące przykłady (patrz createUrlTree które faktycznie zamienia commands
i extras
do końcowego URL):
// create /team/33/(user/11//right:chat)
router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: 'chat'}}]);
// remove the right secondary node
router.createUrlTree(['/team', 33, {outlets: {primary: 'user/11', right: null}}]);
Tak więc nawet dla absolutnej nawigacji, metoda navigate
zapewnia zestaw dodatkowych narzędzi do dynamicznego budowania adresu URL. Możesz to zrobić z navigateByUrl
, ale prawdopodobnie przeanalizujesz/skoncentrujesz się/wykonasz inne manipulacje za pomocą łańcuchów (lub opracujesz własne narzędzie podobne do tego, co zapewnisz dla siebie navigate
i createUrlTree
).
Co to jest delta? Właśnie znalazłem jedno miejsce dla "delta" w kątowych dokumentach, jest to jedna część dla RouterLink API Doc strona: > Dyrektywa routera zawsze traktuje dostarczone wejście jako delta do bieżącego adresu URL. > Na przykład, jeśli aktualny adres URL to/user/(box // aux: team). > Następnie poniższy link Jim wygeneruje link/użytkownik/(jim // aux: zespół). Zobacz createUrlTree, aby uzyskać więcej informacji. '' ' – Hayden