Dieses Dokument wurde von KI übersetzt. Für genaue Informationen lesen Sie bitte die englische Version.
Abonnieren Sie Kontext-Ereignisse (wie Änderungen von Feldwerten, Eigenschaftsänderungen, Ressourcen-Aktualisierungen usw.) in RunJS. Ereignisse werden basierend auf ihrem Typ auf benutzerdefinierte DOM-Ereignisse an ctx.element oder interne Ereignisbus-Ereignisse von ctx.resource abgebildet.
| Szenario | Beschreibung |
|---|---|
| JSField / JSEditableField | Überwachen Sie Änderungen von Feldwerten aus externen Quellen (Formulare, Verknüpfungen usw.), um die Benutzeroberfläche synchron zu aktualisieren und eine bidirektionale Bindung zu erreichen. |
| JSBlock / JSItem / JSColumn | Überwachen Sie benutzerdefinierte Ereignisse auf dem Container, um auf Daten- oder Statusänderungen zu reagieren. |
| resource-bezogen | Überwachen Sie Lebenszyklus-Ereignisse von Ressourcen wie Aktualisierungen oder Speichervorgänge, um Logik nach Datenaktualisierungen auszuführen. |
| Ereignisname | Beschreibung | Ereignisquelle |
|---|---|---|
js-field:value-change | Feldwert wurde extern geändert (z. B. Formularverknüpfung, Aktualisierung von Standardwerten) | CustomEvent an ctx.element, wobei ev.detail der neue Wert ist |
resource:refresh | Ressourcendaten wurden aktualisiert | ctx.resource Ereignisbus |
resource:saved | Speichern der Ressource abgeschlossen | ctx.resource Ereignisbus |
Regeln für die Ereigniszuordnung: Ereignisse mit dem Präfix
resource:werden überctx.resource.onverarbeitet, während andere in der Regel über DOM-Ereignisse anctx.element(falls vorhanden) laufen.
ctx.on registrierte Listener sollten zum geeigneten Zeitpunkt über ctx.off entfernt werden, um Speicherlecks oder doppelte Auslösungen zu vermeiden.ctx.off normalerweise innerhalb der Bereinigungsfunktion von useEffect aufgerufen.ctx.off existiert möglicherweise nicht; es wird empfohlen, Optional Chaining zu verwenden: ctx.off?.('eventName', handler).ctx.on(eventName, handler) sollte ein entsprechendes ctx.off(eventName, handler) gegenüberstehen, wobei die übergebene handler-Referenz identisch sein muss.on/offjs-field:value-change aus)