17

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>

WebComponentsReadymy-element のreadyポリマー イベントの前にイベントが発生するのはなぜですか? カスタム要素と対話できるタイミングを知る必要があります。たとえば、プロパティを変更してパブリック メソッドを呼び出すなどです。

4

1 に答える 1