尝试迁移到Angular 9时出错:DI迁移时未修饰的类

时间:2020-02-07 01:03:14

标签: javascript angular typescript angular9

我正在尝试从Angular 8迁移到Angular 9,并逐步遇到以下错误:具有DI迁移的未经修饰的类。

无法迁移所有使用依赖项的未修饰的类 注射。由于以下原因,无法分析某些项目目标: TypeScript程序失败。

错误:错误TS100:src \ app \ app.module.ts(107,25):“ AppModule”模板编译期间发生错误 装饰器不支持函数调用,但在“ appReducers”中调用了“ combineReducers” 'appReducers'在src \ app \ store \ reducers \ index.ts(13,10)上引用'modelReducer' 'modelReducer'在src \ app \ store \ reducers \ model.ts(25,29)处调用'combineReducers'。

知道为什么我会收到此错误吗?

1 个答案:

答案 0 :(得分:1)

您很有可能需要用@Injectable()装饰所有使用DI的类

例如:

@Injectable()
class MyClass {
  constructor(someService: SomeService) {...}
}

我个人一直推迟9的发布,直到GA为止(由于以前的重大发行经验)。但是,“ DI”和“未修饰的类”对我尖叫“您缺少可注射装饰器”。

您要从8.x升级到9吗?