smalljs$molHledat⌘ KDokumentacePlaygroundPorovnáníEkosystémO projektuCS
Myšlenkový modelGetting StartedÚvodMyšlenkový modelZačínámeZ TypeScriptu do view.treeStruktura projektuNástrojeEssentialsInstalacePohledyStav a reaktivitaSměrováníVykreslováníTestováníNasazeníŘešení problémůDataNačítání datDatová schémataGiper BazaMoreVýkladní skříňZ React, Vue a SvelteKuchařkaAdvancedPluginyMetadata moduluOfflineGhost pohledyAboutČasté dotazyTýmVydání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

Myšlenkový model

Pokud přicházíte z Reactu nebo Vue, první dny v $mol strávíte hledáním věcí, které tu nejsou: computed, watch, useEffect, onMounted, fetch v hooku životního cyklu. Nejsou schované někde v API; model pro ně nemá místo. Tato stránka je pětiminutová verze toho modelu. Přečtěte si ji před Pohledy a vraťte se sem, kdykoli vám bude chybět nějaký známý název.

Pull, ne push

Nic se nepočítá, dokud si to někdo nepřečte. Pohled se vykreslí tím, že čte své vlastnosti; každá vlastnost čte, co potřebuje; řetězec závislostí se z těchto čtení poskládá sám. Není co deklarovat jako odběr a není žádný watch k registraci: čtení je ten odběr.1$my_profile $mol_view2 sub /3 <= Name $mol_view4 sub / <= name \1namespace $.$$ {2 export class $my_profile extends $.$my_profile {3 @ $mol_mem4 user() {5 return this.$.$mol_fetch.json( 'https://api.example.com/me' ) as { name: string }6 }7 name() {8 return this.user().name9 }10 }11}Vykreslení Name čte name(), name() čte user() a user() sáhne do sítě. Nikdo neřekl pohledu o požadavku a nikdo neřekl požadavku o pohledu. Když se user() změní, přepočítá se všechno, co jej četlo — a nic jiného.

Bez životního cyklu

Není tu mounted, není useEffect, není created. Data se objednávají čtením vlastnosti a pohled čte své vlastnosti tehdy, když se vykresluje. Příklad výše tedy načte uživatele ve chvíli, kdy se $my_profile objeví na obrazovce, a ani o chvíli dřív. Když pohled z obrazovky zmizí, user() už nikdo nečte a buňka se uvolní spolu s pohledem.To je celá náhrada za vzor „fetch on mount“: pohled si řekne o to, co potřebuje, a framework rozhodne, kdy se zeptat. Načítání není připnuté k události stránky, ale k tomu, že je něco vidět.

Vlastnost je buňka

Jedna metoda s volitelným argumentem je zároveň getter, setter, odvozená hodnota i stav:1@ $mol_mem2count( next?: number ) {3 return next ?? 04}Zavolaná bez argumentu čte, zavolaná s argumentem zapisuje. @ $mol_mem promění metodu v cachovanou buňku, která se přepočítá, když se změní něco, co přečetla. Odvozená hodnota je prostě metoda @ $mol_mem, která čte jiné metody. Pozorovatel není potřeba: vedlejší efekt patří k události a obslužná rutina události je metoda označená @ $mol_action.1@ $mol_mem2doubled() {3 return this.count() * 24}5 6@ $mol_action7increment() {8 this.count( this.count() + 1 )9}
Upravit tuto stránku na GitHubuBylo to užitečné?AnoNePředchozíÚvodDalšíZačínáme
Na této stráncePull, ne pushBez životního cykluVlastnost je buňkaSynchronní kód, který čekáVšechno je přepsáníJak číst zdrojové kódyNázvyDále
Type to search the documentation.