4

次のhtmlがあるとしましょう:

<my-element-one>
    <my-element-two>
        <my-element-three></my-element-three>
    </my-element-two>
</my-element-one>

ここで、これが DocumentFragment に解析されたとしましょう。次に、フラグメントを Document に挿入します。これらのカスタム要素の attachCallbacks はどのような順序で起動しますか? 彼らは一貫して最初に深さを発射しますか (3、2、1)? それとも、上から下 (1、2、3) に発砲しますか? それとも全く未定ですか?後でツリー全体を削除すると、detachedCallbacks はどの順序で起動しますか?

最後に、この動作はポリフィルと W3C 仕様の意図した動作との間で一貫していますか? 私は一連の仕様を読みましたが、この順序付けがどのように行われるかについての明確な説明は見つかりませんでした。

4

1 に答える 1

2

元の質問はカスタム要素全般に関するものだと思いますが、興味のあるツリーの順序を複製しようとする Polymer を使用した例をまとめました。

http://jsbin.com/yisaqe/3/edit

この場合、ライフサイクル コールバックが深さ優先 (3、2、1) ではなく、上から下 (1、2、3) に実行されることがわかります。

後でツリー全体を削除すると、分離されたコールバックは同様に上から下の順序で実行されます (1、2、3 - コンソールを参照)。

http://jsbin.com/mejija/1/edit

ここに画像の説明を入力

これは、ポリフィルと仕様の意図した動作との間で一貫していると思いますが、これが異なることを意図しているかどうかを仕様から確認することはできませんでした。少なくともこれらの概念実証が役立つことを願っています。

于 2014-07-29T09:47:47.740 に答える