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.
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 $.$${2export class $my_profileextends$.$my_profile{3@ $mol_mem4user(){5return this.$.$mol_fetch.json('https://api.example.com/me')as{name:string}6}7name(){8return 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.
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.
Jedna metoda s volitelným argumentem je zároveň getter, setter, odvozená hodnota i stav:1@ $mol_mem2count(next?:number){3return 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(){3return this.count()*24}56@ $mol_action7increment(){8this.count(this.count()+1)9}Upravit tuto stránku na GitHubuBylo to užitečné?AnoNePředchozíÚvodDalšíZačínámeNa 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áleType to search the documentation.