Come faccio a sapere quando un elemento polimero è pronto? Dare che:evento pronto per gli elementi di polimeri dinamica add
si aggiunge in modo dinamico, come:
var ele = document.createElement('my-custom-element');
document.body.appendChild(ele);
Così ora quando chiamo ele.myCustomMethod()
fallirà perché non è ancora pronto (in FF/IE/Safari con webcomponent-lite.js)
Quello che sto facendo in questo momento è chiamata this.fire('ready')
all'interno della funzione di polimero elemento ready()
, e ascoltare ele.addEventListener('ready',()=>{ele.myCustomMethod();})
Ma questo rende tutto il codice molto difficile da scrivere. E a volte io uso $(body).html('<my-custom-element />')
, e rendere le cose più complicate.
La mia domanda è: C'è un modo migliore per farlo?
Grazie.
Quando si dice 'ele.myCustomMethod()' fallirà, non fallire perché non è definito o è il problema all'interno di tale funzione? – Kable
@Kable: non è riuscito perché non è definito. Non è definito, perché, credo, google polimero (o webcomponent polyfill) non finiscono ancora inizializzazione. – garyx
hai trovato una risposta? La tua soluzione è la stessa che mi è venuta in mente e anch'io non sono molto dispiaciuta. – three