私は ng-book 2 の 1 つの例に従おうとしてきましたが、DI の章で問題が発生しました。
@Component({
selector: 'app-root',
template: `
<button (click)="invokeService()">Get Value</button>
`
})
export class AppComponent {
constructor(public myService: MyService) {}
invokeService() {
console.log(this.myService.getValue());
}
}
@Injectable()
export class MyService {
getValue(): string {
return 'a value';
}
}
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule,
HttpModule
],
providers: [MyService],
bootstrap: [AppComponent]
})
export class AppModule { }
ここにプランカーがあります https://plnkr.co/edit/KSXE9tnRj4tffiISyp0i ReflectiveInjector を手動で作成すると完全に機能しますが、簡単な方法で NgModule のプロバイダーで宣言しようとすると失敗し、「すべてを解決できません」というエラーが表示されますAppComponent の依存関係」。他の回答を確認しましたが、ご覧のとおり、循環 deps やバレル関連の問題はありません。すべて 1 つのファイルにあります。ヒントをいただければ幸いです。