5

カスタム要素から始めたばかりで、この記事によると、カスタム要素は次のように定義できます。

var proto = Object.create(HTMLElement.prototype);
proto.createdCallback = function () { ... };
proto.enteredViewCallback = function () { ... };
document.register('x-foo', {
    prototype: proto
});

これは、新しい要素を作成するたびに 'createdCallback' が呼び出される、Chrome ブラウザーでうまく機能します。

ここで公式ドキュメントを見ると、たとえば、createdCallback がどこにも記載されていません。誰かが W3C ドキュメントを理解し、これがなぜなのか説明できますか?

さらに、Web コンポーネントのカスタム要素を見ると、まったく異なって見えます。そのため、カスタム要素には 2 つの異なるタイプがあります。これは意味がありませんか、それともこれら 2 つが一緒に存在できる正当な理由がありますか?

4

1 に答える 1

5

createdCallbackは以前は次のように呼ばれていましたreadyCallback:

カスタム要素には、カスタム要素のプレゼンテーションの側面を設定するために使用できるライフサイクル コールバックがあります。カスタム要素が作成された後に呼び出される readyCallback。カスタム要素がドキュメントに挿入された後に呼び出される、insertCallback。カスタム要素がドキュメントから削除された後に呼び出される、removedCallback

http://www.w3.org/TR/components-intro/#lifecycle-callbacks

これは次のバグ エントリで変更されました:バグ 22564 - [カスタム]: readyCallback の名前を createdCallback に変更しました。ここでの議論。

仕様に含まれていない理由は、2013 年 7 月にバグが解決され、6 月にドラフトが更新されたためです。これが作業草案に従うことの落とし穴です!

于 2013-12-24T09:10:51.433 に答える