Skąd wiadomo, kiedy element polimerowy jest gotowy? Podając, że:Gotowe wydarzenie dla dynamicznych dodawanych elementów polimerowych
Jest dynamicznie dodawane jako:
var ele = document.createElement('my-custom-element');
document.body.appendChild(ele);
Więc teraz, gdy zgłoszę ele.myCustomMethod()
zakończy się niepowodzeniem, ponieważ nie jest jeszcze gotowy (w FF/IE/Safari z webcomponent-lite.js)
Co robię teraz jest wywołanie this.fire('ready')
wewnątrz polimerowego elementem ready()
funkcji i słuchać ele.addEventListener('ready',()=>{ele.myCustomMethod();})
Ale to uczynić cały kod bardzo trudno napisać. A czasami używam $(body).html('<my-custom-element />')
i to sprawia, że rzeczy są bardziej skomplikowane.
Moje pytanie brzmi: Czy istnieje lepszy sposób na zrobienie tego?
Dziękuję.
Kiedy mówisz 'ele.myCustomMethod()' nie powiedzie, to nie dlatego, że nie jest zdefiniowana lub jest problem w tej funkcji? – Kable
@Kable: Nie udało się, ponieważ jest niezdefiniowana. Jest niezdefiniowany, ponieważ, jak sądzę, google polimer (lub polyfill webcomponent) nie zakończył jeszcze jego inicjowania. – garyx
znalazłeś odpowiedź? Twoje rozwiązanie jest takie samo, jakie wymyśliłem i nie jestem też zbytnio na tym tematem. – three