Verwenden von HTML-Fragmenten mit deklarativen HTML-Ansichten
Ich versuche, eine große HTML-Ansicht in kleinere, handlichere Teile zu zerlegen.
Können dazu Fragmente verwendet werden?
Ich habe zum Beispiel eine Fragmentdatei (view.configurator.Summary.fragment.html), die Folgendes enthält:
<div data-sap-ui-type="sap.m.Button" data-text="Hello"></div>
In meiner übergeordneten Datei versuche ich, das Fragment wie folgt einzuschließen:
<div data-sap-ui-type="sap.m.VBox" class="summary-panel-content">
<div data-sap-ui-type="sap.ui.core.Fragment"
data-fragment-name="view.configurator.Summary"
data-type="HTML"></div>
</div>
In der Konsole wird jedoch der folgende Fehler angezeigt:
Bitte geben Sie einen Fragmentnamen an
Irgendwelche Ideen?
Vielen Dank,
Gar.
BEARBEITEN: Scheint ein Fehler zu sein, aber Sie können dies umgehen, indem Sie das Fragment in ein benutzerdefiniertes Steuerelement einschließen
sap.ui.core.Control.extend("sap.mic.controls.Fragment", {
metadata: {
properties: {
"name": "string"
}
},
init: function () {
},
renderer: function (renderManager, control) {
var fragmentName = control.getProperty("name"),
fragment = sap.ui.htmlfragment(fragmentName);
renderManager.renderControl(fragment);
}
});
Und so verwendet:
<div data-sap-ui-type="sap.m.Page" data-enable-scrolling="false">
<div data-sap-ui-type="sap.mic.controls.Fragment"
data-name="view.configurator.Summary"></div>
</div>