class BaseClass{
count:number=0;
public someMethod=():void =>{
this.count++;
}
}
class ChildClass extends BaseClass{
public someMethod=():void=>{
super.someMethod();
//Do more work here.
}
}
ich die Fehlermeldung:
nur öffentliche Methoden der Basisklasse sind über das 'super' Schlüsselwort zugänglich.
@Basarat bietet einige Informationen hier, aber das scheint wie ein echter Hack für die Sprache. typescript arrow operator to define a function on prototype
Wie könnte dies unter Beibehaltung der kontextuellen Verwendung von "this" geschehen?
Verwende ich Pfeilfunktionen richtig oder sollten sie wirklich nur dazu benutzt werden, etwas wie einen Rückruf zu deklarieren?
Ich bin sicher, dass Sie bereits wissen ... aber immer noch teilen wollten (daher ein Kommentar: https://www.youtube.com/watch?v=tvocUcbCupA&hd=1) – basarat
Ich versuche zu verstehen, warum Sie wollen auf diese Weise überhaupt eine Pfeilfunktion zu verwenden. Gibt es einen Grund, warum Sie keine normale Methode für den Prototyp verwenden können? – thoughtrepo
Ich bevorzuge es, Klassen zu schreiben, die davon ausgehen, dass 'dies' die Klasse ist, und den Umfang und Kontext mit' call', 'apply' oder einer Pfeilfunktion behandelt, wo der Aufrufcode diesen Kontext ändert. – Fenton