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