5

我刚开始使用自定义元素,根据这篇文章,自定义元素可以定义如下:

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

这在我的 chrome 浏览器中效果很好,每次我创建一个新元素时都会调用“createdCallback”。

现在,如果我在这里查看官方文档,我看不到任何地方提到的 createdCallback 。有人了解 W3C 文档并能解释为什么会这样吗?

此外,从 Web 组件中查看自定义元素,它们看起来完全不同。所以现在有两种不同类型的自定义元素。这没有任何意义,或者这两者可以一起存在有充分的理由吗?

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 回答