smalljs$molSzukaj⌘ KDokumentacjaPlaygroundPorównanieEkosystemO projekciePL
RoutingGetting StartedWprowadzenieModel mentalnyPierwsze krokiZ TypeScriptu do view.treeStruktura projektuNarzędziaEssentialsInstalacjaWidokiStan i reaktywnośćRoutingRenderowanieTestowanieWdrożenieRozwiązywanie problemówDataPobieranie danychSchematy danychGiper BazaMorePrezentacjaZ React, Vue i SvelteZbiór przepisówAdvancedWtyczkiMetadane modułuOfflineWidoki-duchyAboutFAQZespółWydaniaAPI$mol_button_major$mol_button_minor$mol_string$mol_number$mol_text$mol_paragraph$mol_list$mol_row$mol_link$mol_check$mol_switch$mol_select$mol_scroll$mol_page$mol_pick

Routing

Routing w $mol nie jest osobną biblioteką — URL to po prostu kolejny kawałek reaktywnego stanu. Odczytaj go, zapisz, a widoki zareagują tak samo, jak reagują na dowolną komórkę. Przycisk wstecz, głębokie linki i udostępnialne adresy URL są za darmo.

URL jako stan

$mol_state_arg udostępnia parametry URL jako wartości reaktywne. Powiąż jeden z właściwością, a pasek adresu stanie się twoim źródłem prawdy:1namespace $.$$ {2 export class $my_app extends $.$my_app {3 @ $mol_mem4 page( next?: string ) {5 return $mol_state_arg.value( 'page', next ) ?? 'home'6 }7 }8}Odczyt page() zwraca bieżącą wartość; wywołanie page('about') nawiguje. Wszystko, co czyta page(), renderuje się ponownie przy zmianie — łącznie z przyciskiem wstecz przeglądarki, który aktualizuje komórkę za ciebie.

Przełączanie ekranów

Połącz wartość z routingu ze zwykłym switch, aby wybrać, co się renderuje. Ponieważ widoki są leniwe, ekrany, których nie pokazujesz, nigdy nie są budowane:1@ $mol_mem2body_content() {3 switch ( this.page() ) {4 case 'about': return [ this.About() ]5 case 'docs': return [ this.Docs() ]6 default: return [ this.Home() ]7 }8}

Linki ustawiające argumenty

W view.tree link może ustawiać argumenty URL deklaratywnie — kliknięcie go nawiguje bez handlera:1<= About_link $mol_link2 arg *3 page \about4 sub / <= about_label \About$mol_link sam oznacza się jako aktywny (mol_link_current), gdy jego argumenty pasują do bieżącego URL, więc podświetlenie bieżącej strony nie wymaga dodatkowego stanu.

Wiele parametrów

Argumenty są niezależne, więc ekran może routować na kilku naraz. Ta właśnie strona dokumentacji routuje zarówno na section, jak i na page:1<= Guide_link $mol_link2 arg *3 section \docs4 page \viewsKażdy klucz odbywa podróż w obie strony przez URL, więc każdy widok jest udostępnialny i możliwy do dodania do zakładek z założenia. Ustawienie jednego argumentu pozostawia pozostałe nietknięte, co sprawia, że głębokie linki — konkretna sekcja i strona i kotwica — to tylko kwestia ustawienia kluczy, na których ci zależy.
Edytuj tę stronę na GitHubieCzy to było pomocne?TakNiePoprzedniaStan i reaktywnośćNastępnaRenderowanie
Na tej stronieURL jako stanPrzełączanie ekranówLinki ustawiające argumentyWiele parametrówStan, który nie powinien być w URLDalej
Type to search the documentation.