在查看了自定义元素规范之后,我如何在没有先实例化自定义元素定义的情况下获得对它的引用并不是很明显(这可能是有问题的)。有没有办法直接引用自定义元素的原型?
更具体地说,如果我有:
var proto = Object.create(HTMLElement.prototype);
proto.createdCallback = function() { // some heavy operation };
document.registerElement('x-foo', {prototype: proto});
稍后,我很想引用原型,例如:
// wish
var XFoo = document.getElementDefinition('x-foo');
但相反,我想出的唯一方法是:
// reality
var XFoo = document.createElement('x-foo').__proto__;
这在尝试针对重型组件编写测试时尤其成问题 - 因为没有办法消除重型行为(XFoo.createdCallback = // stub;
在实际调用原始方法之前使用类似的东西。