Ich arbeite an einem Widget, das Informationen von Drittanbietern aus einer Datenbank mithilfe von Json extrahiert. Sobald die Informationen gesammelt sind, plane ich, die Informationen durchzugehen und den erforderlichen HTML-Code zu erstellen und über eine {{variable}} in die Vorlage einzufügen.Polymer: Wie HTML zu Bildschirm zu loopen und zu rendern
Jetzt bekomme ich ein unerwartetes Ergebnis. Wenn ich das tue, wird das HTML als Text angezeigt.
Hier einige sudo-Code der Emission:
"<div>Name 1</div>" "<div>Name 2</div>" ... n
statt:
<polymer-element name="loop-element">
<template>
{{customerList}}
</template>
<script>
Polymer('loop-element', {
ready: function() {
this.loadCustomerList();
}
customerList:"Loading customer list...",
loadCustomerList: function() {
CustomerNameArray[] = //Get the array from jSon file
i = 0;
do {
this.customerList = "<div>" + customerNameArray[i] + "</div>";
} while (customerNameArray[i]);
}
});
</script>
</polymer-element>
Im Wesentlichen werden die DIV die nicht gerendert werden, anstatt sie auf dem Bildschirm als Text gedruckt werden
Sie können ein JSBin-Beispiel hier sehen: http://jsbin.com/tituzibu/1/edit
Kann jemand empfehlen, wie man eine Liste zur Vorlage ausgibt?
Sie können nicht HTML-Code direkt an DOM binden. Als Sicherheitsvorkehrung ist es immer maskiert. Wenn Sie dies heute tun müssen, müssen Sie dies zwingend tun, 'this.innerHTML = someHtml;' oder gleichwertig. –