smalljs$molPesquisar⌘ KDocsPlaygroundCompararEcossistemaSobrePT
RoteamentoGetting StartedIntroduçãoModelo mentalPrimeiros passosDe TypeScript para view.treeEstrutura do projetoFerramentasEssentialsInstalaçãoViewsEstado e reatividadeRoteamentoRenderizaçãoTestesDeploySolução de problemasDataBusca de dadosEsquemas de dadosGiper BazaMoreVitrineDe React, Vue e SvelteLivro de receitasAdvancedPluginsMetadados de móduloOfflineVistas fantasmaAboutFAQEquipeLançamentosAPI$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

Roteamento

O roteamento no $mol não é uma biblioteca separada — a URL é apenas mais um pedaço de estado reativo. Leia-a, escreva-a, e as vistas reagem do mesmo modo que reagem a qualquer célula. O botão voltar, os deep links e as URLs compartilháveis vêm todos de graça.

A URL como estado

$mol_state_arg expõe os parâmetros da URL como valores reativos. Vincule um a uma propriedade e a barra de endereços torna-se sua fonte de verdade: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}Ler page() retorna o valor atual; chamar page('about') navega. Tudo o que lê page() é renderizado de novo na mudança — inclusive o botão voltar do navegador, que atualiza a célula para você.

Trocar de tela

Combine um valor roteado com um simples switch para escolher o que renderizar. Como as vistas são preguiçosas, as telas que você não mostra nunca são construídas: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}

Links que definem argumentos

No view.tree, um link pode definir argumentos de URL de forma declarativa — clicar nele navega sem nenhum manipulador:1<= About_link $mol_link2 arg *3 page \about4 sub / <= about_label \About$mol_link também se marca como ativo (mol_link_current) quando seus argumentos correspondem à URL atual, então destacar a página atual não precisa de estado extra.

Múltiplos parâmetros

Os argumentos são independentes, então uma tela pode rotear em vários de uma vez. Este próprio site de documentação roteia tanto em section quanto em page:1<= Guide_link $mol_link2 arg *3 section \docs4 page \viewsCada chave faz a ida e volta pela URL, então qualquer vista é compartilhável e favoritável por construção. Definir um argumento deixa os outros intactos, o que faz dos deep links — uma seção e página e âncora específicas — apenas uma questão de definir as chaves que lhe interessam.
Editar esta página no GitHubIsto foi útil?SimNãoAnteriorEstado e reatividadePróximoRenderização
Nesta páginaA URL como estadoTrocar de telaLinks que definem argumentosMúltiplos parâmetrosEstado que não deveria estar na URLPróximo
Type to search the documentation.