我更新了Angular 5.0.2,这需要使用Typescript 2.4.2。我现在在尝试编译时遇到此错误:
TypeError: Class extends value undefined is not a constructor or null
从我的研究来看,这似乎是循环依赖问题,但我不确定如何解决它。我有大量扩展基础模型的模型。例如(在伪代码中):
在base-model.ts
export class BaseModel {
public name: string;
}
在foo-model.ts
import {BaseModel} from './base-model';
export class FooModel extends BaseModel {}
在bar-model.ts
import {BaseModel} from './base-model';
import {FooModel} from './foo-model';
export class BarModel extends BaseModel {
public foo: FooModel;
}
在index.ts
export * from './base-model';
export * from './foo-model';
export * from './bar-model';
在bar.component.ts
import {BarModel} from './index';
@Component({})
export class BarComponent {
public bar: BarModel;
}
我已经完成了Angular高级项目更新指南(https://angular-update-guide.firebaseapp.com)中的所有建议。
使用Angular 4.4.4和Typescript 2.3.4时没有编译错误。有什么改变导致这个问题?