Vissza a bloghoz

Navigáció RouterLink, Navigate és NavigateByUrl használatával az Angular Routerben

Navigáció RouterLink, Navigate és NavigateByUrl használatával az Angular Routerben

Bevezetés

Angular alkalmazások manapság nagyon elterjedtek. A egyoldalas alkalmazások (SPA) koncepciójára épülnek. Az ilyen alkalmazásokban a weboldalak közötti útvonalválasztás (routing) eltér a hagyományos weboldalakétól, mivel komponenseket használunk. Az Angularban a RouterLink irányelvet kell használni az alkalmazáson belüli navigációhoz. A RouterLink egy direktíva, és a Router.navigate és Router.navigateByURL metódusokat biztosítja a komponensosztályok közötti navigációhoz.

Ebben az útmutatóban a következőket fogjuk megvizsgálni: RouterLink, Router.navigate, és Router.navigateByURL kód példákkal együtt.

RouterLink

HTML-ben a linkeket általában egy horgony (anchor) tag segítségével szúrjuk be <a> az alábbiak szerint:

Ez a példalink a felhasználót a /sample oldalra irányítja. Azonban, mint fentebb említettük, egy egyoldalas alkalmazásnak (SPA) nincsenek különböző oldalai, amikre linkelni lehetne. Ehelyett különböző nézetei vagy komponensei vannak, amelyeket megjelenít a felhasználónak.

Ha lehetővé szeretné tenni a felhasználó számára a navigációt és a nézet megváltoztatását, a RouterLink direktívát kell használnia a href:

Ez a RouterLink példa a felhasználót a /users/example helyen található komponenshez vezeti. A különböző URL-szegmensek tömbben is átadhatók, mint az alábbi példában:

Ez a két példa eltérő módon van formázva, de továbbra is ugyanarra a komponensre mutat a /users/example.

  • Relatív útvonal

A RouterLink lehetővé teszi a relatív URL-ek megadását. Használhatjuk a ../ karaktereket a navigáció magasabb szintjeire való visszalépéshez. Az alábbiakban látható, hogyan érhetjük el ezt:

A fenti példában, ha a felhasználó a /users/posts helyen van, a navigáció a /posts/parent helyre viszi. Az URL-eket relatívan is megadhatja a ./, ../ használatával, vagy akár kezdő perjel nélkül is, ha szükséges.

  • Paraméterek

Előfordulhatnak olyan esetek, amikor adatokat kell átadnia az útvonalak között. Egyszerű példa erre, amikor a felhasználó kitölt egy űrlapot, és Ön az űrlap következő részére irányítja a további részletekért.

A paraméterek átadásához az adatokat magában foglaló objektumot kell átadni az URL-szegmensek listájában:

Fent a Router a következő helyre navigál: /users;display=sample/xyz.

  • Nevesített outletek

A nevesített router outletek egyszerűen névvel ellátott router outletek. Nézzük meg az ehhez tartozó kódot:

Ebben a példában a xyz szegmens a side nevű outletbe kerül. Több nevesített outletet is megadhatunk az alábbiak szerint:

Ez lecseréli a first szegmenst a következővel: abc és a second szegmenst a következővel helyettesíti: xyz.

Router

Az Angularban a Router osztály az útvonalak meghatározására és az azokon való navigálásra szolgál. Ez két metódussal érhető el: Router.navigate és Router.navigateByUrl. Mindkét metódus egy promise-t ad vissza. Ez a promise három értéket vehet fel: true, false, vagy null.

  • Az érték true sikeres navigáció esetén.

  • Az érték null ha nincs navigáció.

  • És false ha a navigáció valamilyen okból meghiúsul.

Ha szeretné, hogy ezek a metódusok elérhetőek legyenek az alkalmazásában, először importálnia kell a Router osztályt a komponens osztályában:

Ezután be kell injektálnia ezt a Router osztályt a konstruktorban a függőségek közé:

Ezzel a beállítással készen áll a Router.navigate és Router.navigateByUrl metódusok használatára az alkalmazásában.

Router.navigate

A Router.navigate metódus URL-szegmensek tömbjét fogadja el. Nézzünk egy egyszerű példát a Router.navigate kódra:

Router.navigateByUrl

Végezetül nézzük meg a Router.navigateByUrl metódust. Ez a metódus hasonló a Router.navigate metódushoz, de az URL-szegmensek helyett egy karakterláncot fogad el, amely megadja az URL-t. Ennek a navigációnak abszolútnak kell lennie, és tartalmaznia kell a / jelet az elején:

A fenti kód a felhasználót a /users;all=true oldalra fogja navigálni.

Conclusion

Ebben az útmutatóban áttekintettük, hogyan navigálhatunk az Angular alkalmazásokban a RouterLink segítségével. Az Angular alkalmazásokban az útvonalválasztás (routing) kissé eltér a hagyományos webalkalmazásokétól, mivel ezek egyoldalasak (Single-Page). A RouterLink és funkcióinak ismerete segíthet a fejlesztőknek robusztus útvonalválasztás kiépítésében.

Az Angular alkalmazások a Node.js környezetet használják futtatókörnyezetként. Ha szeretne többet megtudni a Node.js-ről és a Node.js alkalmazások telepítéséről, tekintse meg az alábbi útmutatókat:

Kellemes kódolást!

author

Hark Labs

Szerző · CloudSigma

Preslav Dobrev a CloudSigma kreatív tervezője, aki hagyományos és innovatív marketingcsatornák segítségével következetes vállalati identitás kialakítására összpontosít. Kiemelkedően képes ötvözni a művészi látásmódot a stratégiai marketinggel, hogy hatásos márkatörténeteket hozzon létre.

Hozzászólások

Még nincsenek hozzászólások. Legyen Ön az első.