2015-03-30 16 views
13

Bunu yazı tipinde yapabilir miyim? yürütmesindetek sınıfta genişleyebilir ve uygulayabilirsiniz

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(); 
    } 
} 

ben bu

Yakalanmayan ReferenceError olsun: MyBaseClass

cevap

10

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

Evet bunu yapabilir tanımlı değil. Gönderdiğiniz kod iyi çalışır.

Ancak ben senin gerçek kod yılında şüpheli bunu birden dosyası halinde bölünmüş olması ve MyBaseClassMyClass kodlarından önce yürütülmez olduğunu.

JavaScript siparişi düzeltin veya modül yükleyicisi tarafından belirlenen siparişi vermek için harici modülleri kullanın.

+0

Evet, yalnızca bir app.js dosyasını derlemek için tsconfig.json kullanıyordum ve tsc bir MyBaseClass.js dosyası oluşturuyordu. Ama yine de çalışmıyor, tsc, js dosyasındaki __extends kodunu oluşturmuyor, daha sonra deneyeceğim. - Mac OS X 10.8 üzerinde tsc --version 1.4.1.0 –

İlgili konular