Ich habe versucht, eine Anwendung in JavaScript zu erstellen, die einfach ein Objekt erstellt und löscht, aber ich versuche, es mit Klassen zu implementieren. Der Code sieht wie folgt aus:Aufruf der Elternfunktion innerhalb des Klickereignisses
Meine erste Datei:
class GeneralObject {
constructor(elementName) {
this.domElement = elementName;
}
createObject() {
$(document.createElement('span'))
.html(this.domElement)
.appendTo($('#someOtherElement'));
}
deleteObject() {
this.domElement.remove();
}
}
Meine zweite Datei:
class SpecificObject extends GeneralObject {
create() {
// call the creator from parent class
super.createObject();
// create a div
// i know the div has no expansion
$(document.createElement('div'))
.click(function() {
// trying to call the parent function remove
// here comes the error
super.removeObject();
})
.appendTo($("#someOtherElement"));
}
Mein Ziel ist es, das Objekt, das ich erstellt habe, mit der Klick-Funktion zu löschen, aber ich kann in dieser Instanz nicht auf die Elternfunktion zugreifen. Ich bekomme diesen Fehler:
'super' keyword unexpected here
Ich hoffe, Sie können mir sagen, wie ich meine Elternfunktion in dieser Klickfunktion aufrufen. Ich freue mich auch auf einen Kommentar zu dieser Implementierung über das Schlüsselwort "class", weil ich überall nur Klassenkonstrukte mit "Prototyp" sehe. Was ist der "richtige/bessere" Weg?
Vielen Dank für das Lesen dieser Post
Warum würden Sie denken, das ist eine gute Idee, wenn es so unglaublich einfach ist, ohne dass die Klassen zu tun. – adeneo
@adeneo ja könnte es mit Funktionen gelöst werden, aber ich möchte es nur mit Klassen versuchen. Es ist nur zum Spaß und Erkenntnisgewinn :) – rpanske
@ 4castle Verdammt, ich bin müde. Du hast recht. Ich weiß nicht, woher ich diese Idee habe. Zeit fürs Bett, denke ich. – vlaz