Wir verwenden WebComponents mit ES6-Syntax.webcomponents-lite mit ES6 funktioniert nicht in IE 11 und 10
WebComponents polyfill WebComponents-lite.js (die ShadowDOM nicht einschließt) wird also nicht 11 während die webcomponents.js in Arbeits (die ShadowDOM einschließt) funktioniert gut. Für unseren Projektanwendungsfall würden wir 'Custom-Elemente' ohne ShadowDOM verwenden.
wird ein Fehler im IE geworfen, wenn wir WebComponents-lite.js verwenden - SCRIPT5022: Exception thrown and not caught.
Gibt es eine Abhilfe zur Verfügung?
EDIT: Der Code, den ich in IE laufen mit webcomponents-lite.js
HTML bin versucht: <super-button></super-button>
JS (ES6-Format):
class SuperBtn extends HTMLElement {
constructor() {
super();
}
createdCallback() {
this.innerHTML = "Invoke Ultron!";
this.addEventListener('click',() => alert(this.textContent + ' has been clicked'));
}
}
document.registerElement("super-button", SuperBtn);
was meinst du mit ES6 Syntax? Sie können Custom Elements ohne DOM trotzdem mit webcomponents.js verwenden. – Supersharp
ja, ich meinte 'Klasse' Notation. Es funktioniert mit webcomponents.js, aber nicht mit webcomponents-lite.js –
Ich habe ein Problem in Webkomponenten github Repo (in einer verfeinerten Weise) hinzugefügt. Bitte werfen Sie einen Blick - https://github.com/webcomponents/webcomponentsjs/issues/631. –