我在教程中遇到了以 Angular 5 注入(inject)服务的问题。
我有一个简单的服务
@Injectable()
export class SimpleService {
...
}
还有一个简单的组件:
@Component({...})
export class SimpleComponent {
constructor(private simpleService SimpleService) {}
}
服务设置为
providers
在模块中:@NgModule({
...
providers: [SimpleService]
...
})
export class SimpleModule {}
我在控制台中看到以下错误:
Error: Can't resolve all parameters for SimpleComponent
但是,如果我注入(inject)
SimpleService
与 @Inject
像@Inject(SimpleService) private simpleService: SimpleService
错误消失。
我究竟做错了什么?
更新:
我看到几个答案,人们建议添加
emitDecoratorMetadata: true
到 tsconfig 文件。但是这条线已经存在了
最佳答案
我遇到了类似的问题,这可能对其他人有所帮助,因为这是我在搜索时找到的最接近的匹配项。
我的构造函数中有一个错误。我忘了声明服务的类型:
我曾写过:
constructor(
private myService
){}
代替:
constructor(
private myService: MyService
){}
关于dependency-injection - 角 5 : Can't resolve all parameters for component,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50880783/