Polymer docsによると、WebComponentsReady
イベントが必要な理由は...
ポリフィルは要素定義を解析し、アップグレードを非同期的に処理します。要素がアップグレードされる前に DOM から時期尚早に要素を取得すると、HTMLUnknownElement を操作することになります。このような状況では、要素を操作する前に WebComponentsReady イベントを待ちます
単一の Web コンポーネントをインポートし、すべての Web コンポーネントがロードされたときにステートメントをログに記録するハンドラーを登録する HTML ページがあります。
<!DOCTYPE html>
<html>
<head>
<script src="bower_components/platform/platform.js"></script>
<link rel="import" href="elements/my-element.html">
</head>
<body unresolved>
<my-element></my-element>
<script>
window.addEventListener('WebComponentsReady', function(e) {
console.log('components ready');
});
</script>
</body>
</html>
WebComponentsReady
my-element のready
ポリマー イベントの前にイベントが発生するのはなぜですか? カスタム要素と対話できるタイミングを知る必要があります。たとえば、プロパティを変更してパブリック メソッドを呼び出すなどです。