Webframework: Ember 3.20 glimmt außerhalb des Dokuments
Das Java-Script-Framework Ember bringt im aktuellen Release eine öffentliche API zum Rendern von Inhalten außerhalb des regulären HTML-Verlaufs.
Das Ember-Team hat Version 3.20 des quelloffenen JavaScript-Frameworks veröffentlicht. Das aktuelle Release bringt wie schon die letzten Versionen wenig Neues mit. Nennenswert ist vor allem die API für {{in-element}}
zum Definieren von Inhalten, die nicht im regulären HTML-Verlauf liegen.
Die neue API ähnelt weitgehend der bisher verfügbaren {{-in-element}}
. Der wesentliche Unterschied ist nicht der fehlende Bindestrich am Anfang, sondern dass die alte API als privat gekennzeichnet war, während die neue öffentlich ist. Damit signalisiert das Ember-Team, dass die API stabil ist, während private API-Aufrufe jederzeit aus dem Framework verschwinden können.
Außerhalb des regulären Dokumentflusses
Die API hat denselben Zweck wie die Plug-ins ember-elsewhere und ember-wormhole: Entwicklerinnen und Entwickler können darüber Elemente definieren, die aus dem regulären DOM-Verlauf ausbrechen sollen, also beispielsweise für Kindelemente, die sich wie Top-Level-DOM-Elemente verhalten – beispielsweise ein modaler Dialog.
Für die Definition benötigt {{in-element}}
ein Zielelement als Parameter. Der Block innerhalb des Konstrukts erscheint nicht beim Definieren, sondern beim Rendern des Zielelements:
{{#-in-element destinationElement}}
<div>Inhalt des Elements</div>
{{/-in-element}}
Wenn sich die Position des Zielelements ändert, rendert Ember den definierten Inhalt an der neuen Stelle. Im Vergleich zu der privaten API gibt es noch einen nennenswerten Unterschied: Die neue API überschreibt den Inhalt des Ziels, wird also zu dessen komplettem innerHTML
, während die alte den Block an den im Ziel vorhandenen angehängt hat. Wer das mit {{in-element}}
erreichen möchte, muss zusätzlich insertBefore=null
angeben.
Kleines Anfächern der Glut
Darüber hinaus bringt Ember 3.20 zwei kleine Ergänzungen für das Kommandozeilen-Interface Ember-CLI und die Daten-Library Ember Data mit. Letztere erweitert den JSONAPISerializer
um die Property isEmbeddedRecordsMixinCompatible
, um sie manuell als kompatibel mit EmbeddedRecordsMixin
zu kennzeichnen.
Weitere Neuerungen und als überholt gekennzeichnete Methoden lassen sich dem Ember-Blog entnehmen. Immerhin ist das aktuelle Release das erste mit einer Neuerung seit dem größeren Update in Version 3.15, das den zuvor lange vorbereiteten Umstieg auf Octane integriert hatte
(rme)