Получение ошибки при попытке перехода на Angular 9: неукрашенные классы с миграцией DI

Я пытаюсь перейти с Angular 8 на Angular 9 и получаю следующую ошибку на шаге: Неукрашенные классы с миграцией DI.

Не удалось перенести все необработанные классы, использующие внедрение зависимостей. Некоторые цели проекта не удалось проанализировать из-за сбоев программы TypeScript.

Ошибка: ошибка TS100: src\app\app.module.ts(107,25): ошибка во время компиляции шаблона «AppModule». Вызовы функций не поддерживаются в декораторах, но в ссылках «appReducers» «appReducers» вызывается «combineReducers». modelReducer» в src\app\store\reducers\index.ts(13,10) «modelReducer» вызывает «combineReducers» в src\app\store\reducers\model.ts(25,29).

Любая идея, почему я получаю эту ошибку?


person rrr    schedule 07.02.2020    source источник


Ответы (1)


Скорее всего, вам нужно украсить любые классы, использующие DI, с помощью @Injectable()

ex:

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

Лично я воздерживаюсь от работы с 9 до тех пор, пока не выйдет GA (из-за предыдущего опыта работы с крупными релизами). Но «DI» и «неукрашенные классы» кричат ​​​​мне «вам не хватает декоратора Injectable».

Вы переходите с 8.x на 9?

person mwilson    schedule 07.02.2020