typescript - Kan inte hitta namnrymd när man använder omexporterad klass i generiska
Först och främst var jag inte säker på vilken titel jag skulle ge denna fråga. Om någon har en bättre idé är det fritt fram att redigera den.
Jag har en models-mapp där jag har en uppsättning modellklasser:
export default class Dog {
id: string;
}
export default class Cat {
id: string;
}
I samma mapp har jag också en index.ts-fil som exporterar dem på detta sätt:
import Cat from './Cat';
import Dog from './Dog';
export default {Cat, Dog};
Idén är att på andra ställen i min app borde jag kunna importera alla modeller på en gång istället för att importera dem separat:
import models from '../models';
Detta fungerar som förväntat - jag kan skapa nya instanser på det här sättet:
let dog = new models.Dog();
Tyvärr fungerar det inte när jag försöker använda det som ett generiskt argument på det här sättet:
class Foo extends Bar<models.Cat> {
}
När jag försöker göra det får jag följande fel: TS2503:Kan inte hitta namnutrymme 'models'.
Finns det ett sätt att få detta att fungera för generiska parametrar?