2016-03-15 30 views
5

Polimer elemanın ne zaman hazır olduğunu nasıl bilebilirim? O verilmesi:Dinamik ilave polimer elemanları için hazır olay

Bu dinamik olarak eklenir: Ben henüz hazır olmadığı için başarısız olur ele.myCustomMethod() çağırdığınızda Şimdi

var ele = document.createElement('my-custom-element'); 
document.body.appendChild(ele); 

(FF/IE/Safari'de webcomponent-lite.js ile)

Ya şimdi yapıyorum polimer eleman ready() işlevi içinde çağrı this.fire('ready') olduğunu ve bunun ele.addEventListener('ready',()=>{ele.myCustomMethod();})

dinlemek Ama bu yazmak için tüm kod çok sert olun. Ve bazen $(body).html('<my-custom-element />')'u kullanırım ve işleri daha karmaşık hale getirir.

Soruma İşte: Bunu yapmak için daha iyi bir yolu var mı?

Teşekkür ederiz.

+0

dediğinizde 'ele.myCustomMethod()' başarısız olur, bu başarısız oluyor? – Kable

+0

@Kable: Tanımsız olduğu için başarısız oldu. Bu undefined çünkü google polimer (veya webcomponent polyfill) henüz başlamamıştı. – garyx

+0

Bir cevap buldunuz mu? Senin çözümün de aynı şeyle geldim ve aynı zamanda bu konuda pek de hakir değilim. – three

cevap

-2

Önce pencerede WebComponentsReady olayını dinlemeyi deneyebilirsiniz.

Kaynak: durumda tanımlanmamış veya bu işlevin içinde sorundur çünkü https://github.com/webcomponents/webcomponentsjs#webcomponentsready

+1

Teşekkür ederim bunu dinledim ama sorudaki sorun şudur: Öğeyi anında ekledim, tekrar 'WebComponentsReady' olayını tekrar ateşlemediğini sanmıyorum. – garyx