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



我怎么知道聚合物元素何时准备好?给出:

它是动态添加的,如下所示:

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

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

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

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

我的问题是:有没有更好的方法可以做到这一点?

谢谢。

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

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

最新更新