Dieses Dokument wurde von KI übersetzt. Für genaue Informationen lesen Sie bitte die englische Version.
ctx.element
Eine ElementProxy-Instanz, die auf den Sandbox-DOM-Container verweist und als Standard-Rendering-Ziel für ctx.render() dient. Sie ist in Szenarien verfügbar, in denen ein Rendering-Container existiert, wie z. B. JSBlock, JSField, JSItem und JSColumn.
Anwendungsbereiche
Hinweis:
ctx.elementist nur in RunJS-Kontexten verfügbar, die über einen Rendering-Container verfügen. In Szenarien ohne UI-Kontext (wie z. B. reine Backend-Logik) kann dieser Wertundefinedsein. Es wird empfohlen, vor der Verwendung eine Prüfung auf Nullwerte durchzuführen.
Typdefinition
Sicherheitsanforderungen
Empfohlen: Alle Rendering-Vorgänge sollten über ctx.render() erfolgen. Vermeiden Sie die direkte Verwendung der DOM-APIs von ctx.element (z. B. innerHTML, appendChild, querySelector usw.).
Warum ctx.render() empfohlen wird
❌ Nicht empfohlen: Direkte Manipulation von ctx.element
ctx.element.innerHTMList veraltet. Bitte verwenden Sie stattdessenctx.render().
✅ Empfohlen: Verwendung von ctx.render()
Sonderfall: Als Popover-Anker
Wenn Sie ein Popover öffnen müssen, das das aktuelle Element als Anker verwendet, können Sie auf ctx.element?.__el zugreifen, um das native DOM als target zu erhalten:
Verwenden Sie
__elnur in solchen Szenarien, in denen der aktuelle Container als Anker dient; manipulieren Sie das DOM in anderen Fällen nicht direkt.
Beziehung zu ctx.render
- Wenn
ctx.render(vnode)ohne das Argumentcontaineraufgerufen wird, erfolgt das Rendering standardmäßig in den Containerctx.element. - Wenn sowohl
ctx.elementfehlt als auch keincontainerübergeben wurde, wird ein Fehler ausgelöst. - Sie können explizit einen Container angeben:
ctx.render(vnode, customContainer).
Hinweise
ctx.elementist für die interne Verwendung durchctx.render()vorgesehen. Der direkte Zugriff auf oder die Änderung seiner Eigenschaften/Methoden wird nicht empfohlen.- In Kontexten ohne Rendering-Container ist
ctx.elementgleichundefined. Stellen Sie sicher, dass der Container verfügbar ist, oder übergeben Sie manuell einencontainer, bevor Siectx.render()aufrufen. - Obwohl
innerHTML/outerHTMLinElementProxyüber DOMPurify bereinigt werden, wird dennoch empfohlen,ctx.render()für eine einheitliche Rendering-Verwaltung zu verwenden.
Verwandte Themen
- ctx.render: Inhalte in einen Container rendern
- ctx.view: Aktueller View-Controller
- ctx.modal: Shortcut-API für Modalfenster

