- From: Ryosuke Niwa <notifications@github.com>
- Date: Sun, 16 Oct 2016 23:54:42 -0700
- To: w3c/webcomponents <webcomponents@noreply.github.com>
- Message-ID: <w3c/webcomponents/issues/587/254126763@github.com>
> On the other hand, there is a lot of Babel usage out there (the majority of non-trivial JS codebases I’ve worked on as a consultant over the past year have used it), and I hadn’t really expected that I’d need such an awkward and specialized method for creating a custom element with it. Okay. If you don't like a method, you can also define a specialized super class shown below. Obviously, this particular version of `BabelHTMLElement` only works with a browser engine with both ES6 and custom elements support but you just need to do whatever your polyfill requires to do in other browsers. ```js function BabelHTMLElement() { const newTarget = this.__proto__.constructor; return Reflect.construct(HTMLElement, [], newTarget); } Object.setPrototypeOf(BabelHTMLElement, HTMLElement); Object.setPrototypeOf(BabelHTMLElement.prototype, HTMLElement.prototype); class MyElement extends BabelHTMLElement { constructor() { super(); this._id = 1; } } customElements.define('my-element', MyElement); ``` -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/w3c/webcomponents/issues/587#issuecomment-254126763
Received on Monday, 17 October 2016 06:55:16 UTC