Zum Inhalt springen
Anjunar/ DOCS

Router & Routenmodell

Basispfad, Locale-Präfix und expliziter Routenkontext bilden jetzt einen zusammenhängenden Ablauf.
Vertrag
Es bleiben nur asynchrone Routen
Der Routen-Loader erhält immer einen RouteContext und liefert immer ein Future[AbstractComponent]. Es gibt keine zweite synchrone API-Oberfläche mehr, die davon abweichen könnte.
parent
/scalajs-ui/router
locale
/de or /en
load
Future[AbstractComponent]
URL
Browser path stays human
The router strips base path and locale for matching, then restores both for history updates.
Context
Route data is explicit
Loaders get path params, locale, browserPath and query params as a plain value.
Hydration
Async loaders keep SSR content
Pending route loaders adopt the server-rendered range and replace it after completion.
Nested-Route-Demo
Der Button aktiviert eine Child-Route. Ihre Komponente erscheint darunter über routerOutlet() des Parents.
Aktuelle Routenstruktur
Die Demo verwendet dieselbe API wie nachgelagerte Anwendungen.
scala
Route.view( "/router", children = Seq( Route.view("user/:id") { context => Future.successful(Route.component { RouterUserPage.render(context) }) } ) ) { _ => Future.successful(Route.component { RouterPage.render() // contains Router.routerOutlet() }) }