smalljs$molSuche⌘ KDokuPlaygroundVergleichÖkosystemÜberDE
Zustand und ReaktivitätGetting StartedEinführungMentales ModellErste SchritteVon TypeScript zu view.treeProjektstrukturWerkzeugeEssentialsInstallationViewsZustand und ReaktivitätRoutingRenderingTestenDeploymentFehlerbehebungDataDatenabrufDatenschemasGiper BazaMoreSchaufensterVon React, Vue und SvelteKochbuchAdvancedPluginsModul-MetadatenOfflineGhost-AnsichtenAboutFAQTeamReleasesAPI$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

Zustand und Reaktivität

$mol-Zustand verhält sich wie eine Tabellenkalkulation: Sie deklarieren, wie ein Wert berechnet wird, und alles, was davon abhängt, aktualisiert sich von selbst. Keine Stores, kein Dispatch, keine Effect-Hooks — der Abhängigkeitsgraph verfolgt, was neu berechnet werden muss.

Reaktive Eigenschaften

Eine mit @ $mol_mem dekorierte Methode ist eine zwischengespeicherte, reaktive Zelle. Sie läuft einmal, merkt sich ihr Ergebnis und berechnet nur dann neu, wenn sich etwas geändert hat, das sie gelesen hat.1namespace $.$$ {2 export class $my_counter extends $.$my_counter {3 @ $mol_mem count() { return 0 }4 5 @ $mol_mem doubled() {6 return this.count() * 27 }8 }9}doubled liest count und abonniert count daher automatisch. Ändern Sie count, und jede Ansicht, die doubled zeigt, wird aktualisiert — es gibt nichts von Hand zu abonnieren.

Lesen und Schreiben

Eine Eigenschaft ist sowohl Getter als auch Setter: Rufen Sie sie ohne Argument auf, um zu lesen, mit einem Argument, um zu schreiben.1@ $mol_action2increment() {3 this.count( this.count() + 1 )4}

Aktionen vs. Berechnungen

Diese eine Unterscheidung hält reaktiven Code vorhersehbar:@ $mol_mem ist eine reine Berechnung — liest nur andere Zellen und gibt einen Wert zurück.@ $mol_action ist ein Effekt — Schreibvorgänge in den Zustand, Netzwerkaufrufe und Timer gehören hierher.Das Schreiben in eine Zelle aus einem @ $mol_mem heraus erzeugt eine Rückkopplungsschleife (das Schreiben invalidiert eine Abhängigkeit, die neu berechnet und erneut schreibt). $mol meldet dies als zirkuläres Abonnement. Die Lösung ist immer dieselbe: Halten Sie Seiteneffekte in Aktionen, halten Sie Berechnungen rein.In @ $mol_mem dürfen Sieaber nichtButton-Handler werden als @ $mol_mem auf der Basisklasse generiert; überschreiben Sie sie mit @ $mol_action, damit sie sicher schreiben können:1@ $mol_action2submit() {3 this.saved( true )4}

Abgeleiteter Zustand komponiert

Da Abhängigkeiten automatisch verfolgt werden, verketten sich abgeleitete Werte ohne jegliche Verdrahtung. Jeder liest den vorherigen; eine Änderung an der Wurzel breitet sich genau so weit aus, wie es nötig ist:1@ $mol_mem full_name() {2 return `${ this.first() } ${ this.last() }`.trim()3}4 5@ $mol_mem greeting() {6 return this.full_name() ? `Hello, ${ this.full_name() }!` : 'Hello!'7}
Diese Seite auf GitHub bearbeitenWar das hilfreich?JaNeinZurückViewsWeiterRouting
Auf dieser SeiteReaktive EigenschaftenLesen und SchreibenAktionen vs. BerechnungenAbgeleiteter Zustand komponiertZustand mit SchlüsselAsynchron ist nur ein WertTransienter Zustand zwischen EreignissenWeiter
Type to search the documentation.