smalljs$molSzukaj⌘ KDokumentacjaPlaygroundPorównanieEkosystemO projekciePL
WprowadzenieGetting 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

Wprowadzenie

Przychodzisz z React albo Vue i nic się nie składa? Przeczytaj najpierw Model mentalny: pięć minut o tym, gdzie podziały się computed, watch, haki cyklu życia i ładowanie danych.

Czym jest $mol?

$mol to reaktywny framework UI: opisujesz, czym jest interfejs, a framework ustala, jak i kiedy go zaktualizować. Bez wirtualnego DOM, bez ręcznych subskrypcji, bez useEffect. Komponenty piszesz jako drzewo; $mol renderuje tylko to, co widoczne, i przelicza tylko to, co faktycznie się zmieniło.Komponent składa się z trzech plików:name.view.tree — deklaratywny układ (zwięzły język drzew)name.view.ts — zachowanie (zwykłe klasy TypeScript)name.view.css.ts — typowane style (sprawdzane przez kompilator)Ten podział to cała idea: układ pozostaje czytelny, logika pozostaje testowalna, style pozostają bezpieczne typowo.Żaden z tych trzech nie jest sam w sobie obowiązkowy. Drzewo to skrót zapisu struktury, którą możesz napisać też ręcznie: Z TypeScriptu do view.tree buduje jeden komponent na oba sposoby i pokazuje kod, do którego drzewo się kompiluje.

Dla kogo jest?

Chcesz małą aplikację, która pozostaje mała w miarę rozwoju — runtime jest zwięzły, a renderowanie domyślnie zwirtualizowane.Lubisz typy wszędzie — nawet style są sprawdzane przez TypeScript.Masz dość ręcznego łączenia reaktywności — stan w $mol jest reaktywny automatycznie, jak w arkuszu kalkulacyjnym.

Przedsmak

Licznik, w całości:1$my_counter $mol_view2 sub /3 <= Count $mol_view4 sub / <= count \5 <= Increment $mol_button6 click? <=> increment?7 sub / <= label \+1namespace $.$$ {2 export class $my_counter extends $.$my_counter {3 @ $mol_mem count() { return 0 }4 @ $mol_action increment() { this.count( this.count() + 1 ) }5 }6}count jest reaktywny: wszystko, co go odczytuje, renderuje się ponownie automatycznie, gdy się zmieni. Nie ma setState, nie ma tablicy zależności, nie ma magazynu do zarejestrowania.

Dokąd dalej?

Gotowy uruchomić coś na własnej maszynie? Przejdź do Szybkiego startu i zbuduj działającą aplikację w mniej niż piętnaście minut.
Edytuj tę stronę na GitHubieCzy to było pomocne?TakNieNastępnaModel mentalny
Na tej stronieCzym jest $mol?Dla kogo jest?PrzedsmakDokąd dalej?
Type to search the documentation.