我刚开始使用自定义元素,根据this文章,自定义元素可以定义如下:
var proto = Object.create(HTMLElement.prototype);
proto.createdCallback = function () { ... };
proto.enteredViewCallback = function () { ... };
document.register('x-foo', {
prototype: proto
});
这在我的Chrome浏览器中效果很好,每次创建新元素时都会调用'createdCallback'。
现在,如果我查看官方文档here,我没有看到,例如,在任何地方提到的createdCallback。有人理解W3C文档并解释其原因吗?
此外,看custom elements from web-components他们看起来完全不同。所以现在有两种不同类型的自定义元素。这没有任何意义,或者这两者是否可以共存?
答案 0 :(得分:5)
createdCallback
以前称为readyCallback
:
自定义元素具有可用于设置的生命周期回调 自定义元素的表示方面。这些是:readyCallback, 在创建自定义元素后调用; insertedCallback, 在将自定义元素插入文档后调用; 和removedCallback,在删除自定义元素后调用 来自文件
http://www.w3.org/TR/components-intro/#lifecycle-callbacks
在以下错误条目中对此进行了更改:Bug 22564 - [Custom]: Rename readyCallback to createdCallback。讨论here。
它不符合规范的原因是因为该错误已于2013年7月得到解决,而草案在6月更新。这是以下工作草案的陷阱!