所以我正在研究聚合物桌面/移动webapp。我有一个WebComponentsReady
侦听器附加到全局窗口对象,以确保聚合物html元素(以及它们所依赖的polyfill)将在我的应用程序逻辑开始时就绪并准备就绪。在firefox中工作正常(当然还有chrome)。这带来了我们的野生动物园/移动野生动物园。
在野生动物园中,事件似乎在聚合物完成它的事情之前开火。添加几秒钟的setTimeout
包装(> 2似乎是最小化的),一切正常。 this question的答案似乎已经过时了:链接被打破,“聚合物就绪”事件似乎不再激发。
那么如何在所有浏览器中确保聚合物支持
1)webcomponents已准备好(本机或polyfilled)
2)所有聚合物元件都已完成构造和准备
是否附加了事件监听器?
setTimeout
太不确定了,我想要一个更清洁的解决方案。
答案 0 :(得分:0)
使用Polymer 1.0中的dom-change
事件而不是'聚合物就绪'。
的index.html
<body unresolved fullbleed layout vertical>
<template is="dom-bind" id="app">
app.js
var app = document.querySelector('#app');
app.addEventListener('dom-change', function() {
console.log("Polymer is ready!");
// do your thing
});