Ich versuche, eine Instanzmethode einer TypeScript-Klasse (in einem ASP.NET MVC-Projekt) aufzurufen. Zur Laufzeit erhalte ich jedoch Ausnahmen wie 0x800a01b6 - JavaScript runtime error: Object doesn't support property or method 'checkString'
.
Ich habe das generierte JavaScript in jsfiddle kopiert, wo die Methode zu funktionieren scheint.
Ich bin nicht wirklich ein JavaScript-Typ, also jede Hilfe wird sehr geschätzt!
Dinge, die ich bisher versucht habe:
Uncaught TypeError: undefined is not a function
, FF: TypeError: this.checkString is not a function
) Dies ist der TypeScript-Code:
%Vor%Und hier das generierte JavaScript:
%Vor% Dies liegt wahrscheinlich an der falschen this
zur Laufzeit. Sie können eine Lambda-Funktion ()=>{}
anstelle von function
verwenden, um sicherzustellen, dass die this
im generierten JavaScript lexikalisch definiert ist:
Bitte suchen Sie, was this
in JavaScript und Typoskript bedeutet, um mehr zu erfahren.
Eine andere Bypass-Lösung:
Anstatt this.
zu verwenden, können Sie super.
verwenden.
super.myMethod();
anstelle von this.myMethod();
verwendet.
Dies ist ein subtiler Vorteil, der dank Typoskript leicht möglich ist. :)
Beispiel:
Quelle: Typoskript umgehen Lösung in Stackoverflow
Tags und Links javascript typescript