un elemento polimero uffici-list deve essere creato in modo dinamico all'interno di script di un altro elemento di polimero così:dinamicamente creando elemento polimero all'interno di un altro tag personalizzato
<dom-module id="contacts-tag">
<template>
<iron-ajax ... on-response = "handleResponse"></iron-ajax>
</template>
<script>
Polymer({
is: "contacts-tag",
handleResponse: function(request){
var response = request.detail.response;
this.officesRegions = response.officesRegions;
this.officesCities = response.officesCities;
var dynamicEl = document.createElement("offices-list");
dynamicEl.setAttribute("regions", this.officesRegions);
dynamicEl.setAttribute("cities", this.officesCities);
document.body.appendChild(dynamicEl);
}
});
</script></dom-module>
Tuttavia, non appena raggiunge "document.createElement (" uffici -elenco");" l'elemento all'interno di questo nuovo tag inizia il rendering, e il metodo è già pronto è già stato chiamato, mentre mi aspettavo che succedessero dopo aver impostato gli attributi. Come posso farlo?
Modifica: Sembra che il problema sia di natura diversa. Sto impostando gli oggetti sugli attributi e il tag "uffici-list" non li riconosce, quindi non è in grado di accedervi o di passarci sopra. Quindi, la mia domanda cambierà in "Come legare gli oggetti?"
Cosa fai nel callback 'ready'? se si desidera attendere con il rendering fino a quando non viene aggiunto l'elemento, utilizzare la callback 'allegata ' –
Anche se si sposta tutto su pronto per l'accesso, ho ancora problemi con il rendering della dom locale immediatamente. Gli elementi nella dom locale hanno bisogno di attributi per il rendering corretto, ma poiché gli attributi vengono aggiunti dopo che createElement I non può controllarlo dal rendering. Come ho detto nella domanda, il problema è che non è in attesa fino a quando non viene effettivamente aggiunto, ma viene eseguito il rendering subito dopo createElement senza attendere gli attributi – Nazerke