动态添加聚合物元素的就绪事件

gar*_*ryx 5 javascript web-component polymer polymer-1.0

我怎么知道聚合物元素什么时候准备好了?给予:

它是动态添加的,如:

var ele = document.createElement('my-custom-element');
document.body.appendChild(ele);
Run Code Online (Sandbox Code Playgroud)

所以现在当我调用ele.myCustomMethod()它时会失败,因为它还没有准备好(在带有webcomponent-lite.js的FF/IE/Safari中)

我现在正在做的是调用this.fire('ready')聚合物元素ready()功能,并听取它ele.addEventListener('ready', ()=>{ele.myCustomMethod();})

但是这使得所有代码都很难编写.有时我会使用$(body).html('<my-custom-element />')它,这会使事情变得更复杂.

我的问题是:有没有更好的方法呢?

谢谢.

Nei*_*mal -2

您可以先尝试监听窗口上的 WebComponentsReady 事件。

来源: https: //github.com/webcomponents/webcomponentsjs#webcomponentsready