smalljs$molПошук⌘ KДокументаціяПісочницяПорівнянняЕкосистемаПро проєктUK
МаршрутизаціяGetting StartedВступМентальна модельПочаток роботиВід TypeScript до view.treeСтруктура проєктуІнструментарійEssentialsВстановленняВидиСтан і реактивністьМаршрутизаціяРендерингТестуванняДеплойРозв'язання проблемDataОтримання данихСхеми данихGiper BazaMoreВітринаЗ React, Vue та SvelteЗбірник рецептівAdvancedПлагіниМетадані модуляОфлайнПодання-привидиAboutЧасті питанняКомандаРелізиAPI$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

Маршрутизація

Маршрутизація в $mol — не окрема бібліотека: URL — це просто ще один шматок реактивного стану. Читайте його, записуйте — і подання реагують так само, як реагують на будь-яку комірку. Кнопка «назад», глибокі посилання й посилання, якими можна ділитися, — усе це задарма.

URL як стан

$mol_state_arg надає параметри URL як реактивні значення. Прив'яжіть один до властивості — і адресний рядок стане вашим джерелом істини: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}Читання page() повертає поточне значення; виклик page('about') виконує перехід. Усе, що читає page(), перемальовується при зміні — зокрема й кнопка «назад» браузера, яка оновлює комірку за вас.

Перемикання екранів

Поєднайте маршрутизоване значення зі звичайним switch, щоб вибрати, що малювати. Оскільки подання ліниві, екрани, які ви не показуєте, ніколи не будуються: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}

Посилання, що встановлюють аргументи

У view.tree посилання може встановлювати аргументи URL декларативно — клік по ньому виконує перехід без обробника:1<= About_link $mol_link2 arg *3 page \about4 sub / <= about_label \About$mol_link також позначає себе активним (mol_link_current), коли його аргументи збігаються з поточним URL, тож підсвічування поточної сторінки не потребує додаткового стану.

Кілька параметрів

Аргументи незалежні, тож екран може маршрутизуватися за кількома одразу. Саме цей сайт документації маршрутизується і за section, і за page:1<= Guide_link $mol_link2 arg *3 section \docs4 page \viewsКожен ключ здійснює повний обіг через URL, тож будь-яке подання за побудовою можна поширювати й додавати в закладки. Встановлення одного аргументу лишає інші недоторканими, що робить глибокі посилання — конкретний розділ і сторінку і якір — лише питанням встановлення потрібних вам ключів.
Редагувати цю сторінку на GitHubЦе було корисно?ТакНіНазадСтан і реактивністьДаліРендеринг
На цій сторінціURL як станПеремикання екранівПосилання, що встановлюють аргументиКілька параметрівСтан, якому не місце в URLДалі
Type to search the documentation.