2015-03-30 17 views
13

Kann ich dies auf Typoskript tun?erweitern und implementieren in einer Klasse Typoskript

export interface IMyInterface { 
    doSomething():void; 
} 

export class MyBaseClass { 
    myBaseClassHasProperty:string; 

    constructor(){ 
     this.myBaseClassHasProperty = 'some value'; 
    } 
    myBaseClassHasMethods():void{ 
     console.log(this.myBaseClassHasProperty); 
    } 
} 

export class MyClass extends MyBaseClass implements IMyInterface { 
    constructor(){ 
     super(); 
    } 

    doSomething():void{ 
     this.myBaseClassHasMethods(); 
    } 
} 

in Runtime ich dieses

Uncaught Reference: MyBaseClass nicht

Antwort

10

in runtime i get this Uncaught ReferenceError: MyBaseClass is not defined

Ja Sie definiert sind, können das tun. Der Code, den du gepostet hast, funktioniert einwandfrei.

aber ich vermute, in Ihrem eigentlichen Code Sie haben es über mehrere Dateien aufgeteilt und MyBaseClass ist nicht vor dem Code für MyClass ausgeführt.

Korrigieren Sie die JavaScript-Bestellung oder verwenden Sie externe Module, damit die Reihenfolge vom Modullader festgelegt wird.

+0

Ja, ich habe tsconfig.json verwendet, um nur eine app.js-Datei zu kompilieren und der TSC erstellte eine MyBaseClass.js-Datei. Aber immer noch nicht funktioniert, die TSC erstellt nicht den __extens-Code auf JS-Datei, ich werde später mehr versuchen. - tsc - Version 1.4.1.0 unter Mac OS X 10.8 –