我怎么知道聚合物元素什么时候准备好了?给予:
动态添加,如:
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 />')
,这会让事情变得更复杂。
我的问题是:有没有更好的方法呢?
谢谢。
答案 0 :(得分:-2)
您可以先尝试在窗口上侦听WebComponentsReady事件。
来源:https://github.com/webcomponents/webcomponentsjs#webcomponentsready