Wenn ich eine lokal exportierte Klasse erweitern, funktioniert es.typescript erweitern Klasse mit importierter Klasse
Arbeitsbeispiel:
export class classA {
constructor() {
super();
}
}
export class classB extends classA {
constructor() {
super();
this.do();
}
private do(): void {
// do something
}
Aber wenn ich classA von außerhalb der Datei importieren arbeitet es nicht.
nicht Arbeitsbeispiel:
import { classA } from '../'; // I use index.ts file, so the reference is good.
export class classB extends classA {
constructor() {
super();
this.do();
}
private do(): void {
// do something
}
}
Dateistruktur:
Root/
- index.ts
- classA(folder)/
- index.ts
- classA.ts
- classB(folder)/
- index.ts
- classB.ts
Die index.ts-Datei im Ordner classA:
export * from './classA';
Die Wurzel index.ts Datei:
export * from './classB';
export * from './classA';
Fehlermeldung: Klasse classB _1.classA erstreckt Typeerror: Klasse erweitert Wert kein Konstruktor oder null
Ich brauche zu laden außen aus dieser Datei, weil Ich mag classA würde in anderen Dateien verwenden, ist nicht definiert. .. Irgendeine Idee warum passiert das?
[gelöst]: In der Wurzel index.ts Datei die Reihenfolge sein muß:
export * from './classA';
export * from './classB';
Können Sie den Code für '../ index.ts' posten? Exportieren Sie "Klasse A" als "Standard"? – rossipedia
@rossipedia Ich habe die Frage mit der Dateistruktur und dem Inhalt von index.ts Dateien aktualisiert – Twois
Warum nicht Klasse A direkt in Klasse B verweisen? Importieren Sie {classA} aus '../classA/classA'; – Poku