Угловой 5: не может работать инъекция зависимости - PullRequest
0 голосов
/ 22 сентября 2018

У меня есть приложение angular 5 ("@ angular / core": "5.1.2"), и я получаю эту ошибку

Uncaught Error: не удается разрешить все параметры для FooComponent:(?).

Сервис:

@Injectable()
export class FooService { }

Компонент:

@Component({template: '<p></p>'})
export class FooComponent {
    constructor(private s: FooService) { }
}

Модуль:

@NgModule({
    declarations: [ AppComponent, FooComponent ],
    bootstrap:[ AppComponent ],
    providers: [ FooService ] })
export class AppModule {}

Мой tsconfig:

{
    "compilerOptions": {
        "baseUrl": "",
        "declaration": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "noImplicitAny": false,
        "lib": [
            "es6",
            "dom"
        ],
        "mapRoot": "./",
        "module": "commonjs",
        "moduleResolution": "node",
        "rootDir": "./app",
        "outDir": "../dist",
        "sourceMap": true,
        "target": "es5",
        "noEmitOnError": true,
        "typeRoots": [
          "./node_modules/@types"
        ]
    },
    "include": [
      "./**/*.ts"
    ]
}

Есть идеи, что мне не хватает?Обратите внимание, что я использую es6 lib и @Injectable не принимает никаких параметров.Кажется, я не могу найти много хороших примеров.

Вообще, как мы отлаживаем DI на angular?

1 Ответ

0 голосов
/ 22 сентября 2018
@Component({
    template: '<p></p>'
})
export class FooComponent {
    constructor(@Inject("FooService") private s: FooService) { }
}

Пропущено @Inject

...