Router
Komponent Router je nástroj určený na navigáciu v rámci webových aplikácií. Táto komponenta podporuje komplexné navigačné scenáre a lazy-load, čím zvyšuje výkon aplikácie a používateľský zážitok. Na to využíva ďalšie komponenty: Router Link, Router Outlet a Route.
Navyše sa bezproblémovo integruje s komponentmi WebJET Elements, čím umožňuje jednoduchú implementáciu navigácie vo vašom projekte.
Komponent wje-router má za úlohu spravovať všetky interakcie s históriou prehliadača a zoskupovať aktualizácie prostredníctvom systému udalostí a mal by sa nachádzať v štruktúre aplikácie iba raz.
wje-router is just a URL coordinator for the navigation outlets of ionic: wj-nav, wj-tabs, and wje-router-outlet.
That means the wje-router never touches the DOM, it does NOT show the components or emit any kind of lifecycle events, it just tells wj-nav, wj-tabs, and wje-router-outlet what and when to "show" based on the browser's URL.
In order to configure this relationship between components (to load/select) and URLs, wje-router uses a declarative syntax using JSX/HTML to define a tree of routes.
Základné použitie
Rozhrania
RouterEventDetail
interface RouterEventDetail {
from: string | null;
redirectedFrom: string | null;
to: string;
}
RouterCustomEvent
While not required, this interface can be used in place of the CustomEvent interface for stronger typing with WebJET events emitted from this component.
interface RouterCustomEvent extends CustomEvent {
detail: RouterEventDetail;
target: HTMLElement;
}
Použitie
<wje-router>
<wje-route component="page-tabs">
<wje-route url="/schedule" component="tab-schedule">
<wje-route component="page-schedule"></wje-route>
<wje-route url="/session/:sessionId" component="page-session"></wje-route>
</wje-route>
<wje-route url="/speakers" component="tab-speaker">
<wje-route component="page-speaker-list"></wje-route>
<wje-route url="/session/:sessionId" component="page-session"></wje-route>
<wje-route url="/:speakerId" component="page-speaker-detail"></wje-route>
</wje-route>
<wje-route url="/map" component="page-map"></wje-route>
<wje-route url="/about" component="page-about"></wje-route>
</wje-route>
<wje-route url="/tutorial" component="page-tutorial"></wje-route>
<wje-route url="/login" component="page-login"></wje-route>
<wje-route url="/account" component="page-account"></wje-route>
<wje-route url="/signup" component="page-signup"></wje-route>
<wje-route url="/support" component="page-support"></wje-route>
</wje-router>
Kedy použiť
Použite wje-router, keď používateľ potrebuje orientáciu v aplikácii alebo prechod medzi stavmi/obrazovkami.
Kedy nepoužiť
Nepoužívajte viac paralelných navigačných vzorov, ktoré si navzájom konkurujú.
Prístupnosť
Zabezpečte jasné active/selected stavy, predvídateľné poradie tabulátora a pomenovanie ovládacích prvkov.
Odporúčané postupy
- Držte URL a UI stav v synchronizácii, aby bola navigácia reprodukovateľná.
- Používajte konzistentné názvoslovie položiek naprieč menu, breadcrumbom a tabmi.
- Pri hlbokých štruktúrach pridajte pomocný kontext (breadcrumb, nadpis, ikony).
Atribúty a vlastnosti
Pre tento komponent nie sú dostupné žiadne vlastnosti.
Udalosti
Pre tento komponent nie sú dostupné žiadne udalosti.
Metódy
parseElement
| Popis | Spustí metódu parseElement na vykonanie logiky komponentu a aktualizáciu jeho stavu. |
| Signatúra | (element: Element) => object |
CSS tieňové časti
Pre tento komponent nie sú dostupné žiadne CSS časti tieňa.
CSS vlastné premenné
Pre tento komponent nie sú dostupné žiadne vlastné CSS vlastnosti.
Sloty
Pre tento komponent nie sú dostupné žiadne sloty.