Natrag na blog

Navigacija s RouterLink, Navigate i NavigateByUrl u Angular Routeru

Navigacija s RouterLink, Navigate i NavigateByUrl u Angular Routeru

Uvod

Angular aplikacije su danas vrlo česte. Izgrađene su na konceptu jednostraničnih aplikacija (SPA). U takvim aplikacijama, usmjeravanje kroz web stranice razlikuje se od tradicionalnih web stranica jer se koriste komponente. U Angularu morate koristiti RouterLink za navigaciju radi usmjeravanja kroz aplikaciju. RouterLink je direktiva i pruža Router.navigate i Router.navigateByURL metode za navigaciju kroz klase komponenti.

U ovom vodiču ćemo proučiti RouterLink, Router.navigate, i Router.navigateByURL zajedno s kodnim primjerima.

RouterLink

U HTML-u se poveznica obično umeće pomoću sidrene oznake <a> kao u nastavku:

Ova primjerna poveznica odvest će korisnika na /sample stranicu. Međutim, kao što je gore spomenuto, jednostranična aplikacija (SPA) nema različite stranice na koje bi se povezivala. Umjesto toga, ima različite prikaze ili komponente koje prikazuje korisniku.

Ako trebate omogućiti korisniku navigaciju i promjenu prikaza, morat ćete koristiti RouterLink direktivu umjesto href:

Ovaj RouterLink primjer odvest će korisnika na komponentu na /users/example. Različiti URL segmenti također se mogu proslijediti u polju kao u sljedećem primjeru:

Ova dva primjera formatirana su na različit način, ali će i dalje voditi do iste komponente na /users/example.

  • Relativna putanja

RouterLink omogućuje navođenje relativnih URL-ova. Možemo koristiti ../ za odlazak na više razine navigacije. U nastavku je prikazano kako to možemo postići:

U gornjem primjeru, ako se korisnik nalazi na /users/posts, navigacija će odvesti korisnika na /posts/parent. Također možete specificirati URL-ove relativno koristeći ./, ../, ili čak bez početne kose crte ako je potrebno.

  • Parametri

Mogu postojati scenariji u kojima trebate prenijeti podatke između ruta. Jednostavan primjer je kada korisnik ispuni obrazac, a vi ga odvedete na sljedeći dio obrasca za daljnje pojedinosti.

Za prosljeđivanje parametara, objekt koji enkapsulira podatke prosljeđuje se u popisu URL segmenata:

Gore, Router će navigirati na /users;display=sample/xyz.

  • Imenovani izlazi

Imenovani izlazi usmjerivača su jednostavno izlazi usmjerivača s nazivima. Pogledajmo kod za to:

U tom primjeru, xyz segment bit će smješten u izlaz pod nazivom side. Također možemo specificirati više imenovanih izlaza kao u nastavku:

Ovo će zamijeniti first segment s abc a second segment se zamjenjuje s xyz.

Router

U Angularu, Router klasa se koristi za definiranje ruta i za navigaciju kroz njih. To se postiže pomoću dvije metode: Router.navigate i Router.navigateByUrl. Obje ove metode vraćaju obećanje. Ovo obećanje može imati tri vrijednosti: true, false, ili null.

  • Vrijednost je true kada je navigacija uspješna.

  • Vrijednost je null kada nema navigacije.

  • I false ako iz nekog razloga navigacija ne uspije.

Ako želite imati ove metode dostupne u svojoj aplikaciji, najprije morate uvesti Router klasu u klasu svoje komponente:

Zatim trebate ubrizgati ovaj Router u konstruktor među ovisnosti:

S ovom postavkom spremni ste za korištenje Router.navigate i Router.navigateByUrl metoda u svojoj aplikaciji.

Router.navigate

Metoda Router.navigate prihvaća niz segmenata URL-a. Pogledajmo osnovni primjer Router.navigate koda:

Router.navigateByUrl

Na kraju, pogledajmo Router.navigateByUrl. Ova metoda je slična metodi Router.navigate ali umjesto prihvaćanja segmenata URL-a, prihvaća niz znakova koji specificira URL. Ova navigacija mora biti apsolutna i mora imati / na svom početku:

Gornji kod će navigirati korisnika na /users;all=true stranicu.

Zaključak

U ovom vodiču smo pogledali kako navigirati u Angular aplikacijama pomoću RouterLink-a. Usmjeravanje u Angular aplikacijama malo je drugačije od tradicionalnih web aplikacija jer se radi o aplikacijama s jednom stranicom. Poznavanje RouterLink-a i njegovih funkcija može pomoći razvojnim programerima u izgradnji robusnog usmjeravanja.

Angular aplikacije koriste Node.js kao svoje okruženje za izvršavanje. Ako želite saznati više o Node.js-u i kako implementirati Node.js aplikacije, možete pogledati sljedeće vodiče:

Sretno programiranje!

author

Hark Labs

Autor · CloudSigma

Preslav Dobrev je kreativni dizajner u CloudSigma, usredotočen na dosljedan poslovni identitet korištenjem tradicionalnih i inovativnih marketinških kanala. Vješt je u spajanju umjetničke vizije sa strateškim marketingom kako bi stvorio dojmljive brendirane priče.

Komentari

Još nema komentara. Budite prvi.