我正在尝试为我的应用制作共享服务。
constructor(public sharedService: SharedService) {}
然后我将它注入我的app.component的提供程序,但是当我试图在子组件的构造函数中调用它时:Can't resolve all parameters for MyComponent
我有一个错误:
xgb.train()
。我也尝试将其注入我的app.module提供程序中,并且也出现了此错误。我该怎么办?如何正确注射?任何人都可以为antire app提供适当的共享服务示例(它有几个模块)?
我有路由系统,我想拥有一个共享服务,并从当前代表该模块的组件中更改它的数据。
答案 0 :(得分:4)
我相信您使用的是最新版本,并希望使用单件服务。
为此,您必须在 @NgModule({})
中注册您的服务,如此处所示
import {Sharedservice} from 'valid path';
@NgModule({
imports:[BroswerModule],
...
providers:[SharedService]
})
现在,在子组件和父组件中,只需导入文件顶部的Sharedservice。
注意:从每个组件中删除 providers:[SharedService]
。
答案 1 :(得分:0)
您需要在providers
或@Component
注释中使用@NgModule
关键字设置该服务的提供商。 zilion时代已有详细记载,请参阅: