2016-03-15 20 views
5

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ę.

+0

Kiedy mówisz 'ele.myCustomMethod()' nie powiedzie, to nie dlatego, że nie jest zdefiniowana lub jest problem w tej funkcji? – Kable

+0

@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

+0

znalazłeś odpowiedź? Twoje rozwiązanie jest takie samo, jakie wymyśliłem i nie jestem też zbytnio na tym tematem. – three

Odpowiedz

Powiązane problemy