Das folgende Muster wird häufig beim Erstellen von Polymer 2.0 ES6-Webkomponenten verwendet.Wann Konstruktor und Super in Polymer 2.0 verwenden?
constructor() {
super();
}
Here the documentation describes calling the super();
function when defining an element.
However here in the Shop App wird das Muster nur 3 mal gefolgt, in den folgenden Elementen: Shop-app.html, Shop-Ripple-container.html, Shop-Tabs-overlay.html.
Wann müssen wir super()
anrufen? Wann muss dieser Anruf innerhalb der constructor()
-Funktion sein? Und was sind die Konsequenzen, wenn man super()
nicht wie im Fall the Shop app erscheint?
Bearbeiten: Ein Benutzer (@ 4castle) hat diese Frage vorgeschlagen might be a duplicate of this question. Ich stimme dem nicht zu. Diese Frage beschäftigt sich mit Polymer, während sich die andere mit React beschäftigt. Die andere Frage fragt nach Argumenten, die an die super()
-Funktion übergeben werden. Diese Frage möchte wissen, was passiert, wenn super()
nicht angerufen wird und wo der beste Ruf ist (d. H. Innerhalb constructor()
oder nicht).
Mögliches Duplikat von [was macht super() mit irgendwelchen Argumenten?] (Https://stackoverflow.com/questions/39822941/what-does-super-do-with-any-arguments) – 4castle
'super() 'ist erforderlich, wenn eine Klasse eine andere Klasse 'erweitert'. Andernfalls wird ein 'ReferenceError' ausgelöst, wenn Sie versuchen, auf' this' zuzugreifen, ohne zuerst 'super()' aufzurufen. – 4castle
@ 4castle: Ich habe basierend auf deinem Kommentar und der anderen Frage, auf die du hingewiesen hast, hinzugefügt und geantwortet. Ich habe auch die Frage bearbeitet, um zu erklären, warum ich denke, dass es anders ist. Bitte lassen Sie mich wissen, wenn Sie denken, ich bin auf dem richtigen Weg oder nicht, wenn es Ihnen nichts ausmacht. – Mowzer