Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript angular 2中的层次依赖注入_Javascript_Angularjs_Angular - Fatal编程技术网

Javascript angular 2中的层次依赖注入

Javascript angular 2中的层次依赖注入,javascript,angularjs,angular,Javascript,Angularjs,Angular,我有一个根组件AppComponent,我在根组件(ProductService)中注入了一个服务,我正试图在一个子组件(ProductList)中解析它。我犯了一个错误 没有ProductService的提供商!(ProductListComponent->ProductService) 下面是根组件和子组件的代码 导入{ 组成部分 } 来自“angular2/核心” 进口{ ProductListComponent } 来自“./products/product list.componen

我有一个根组件AppComponent,我在根组件(ProductService)中注入了一个服务,我正试图在一个子组件(ProductList)中解析它。我犯了一个错误

没有ProductService的提供商!(ProductListComponent->ProductService)

下面是根组件和子组件的代码

导入{
组成部分
}
来自“angular2/核心”
进口{
ProductListComponent
}
来自“./products/product list.component”
进口{
产品服务
}
来自“./products/product.service”
/**
*应用组件
*/
@
组成部分({
选择器:“pm应用程序”,
模板:`
{{PageTitle}}
`,
提供者:[ProductService],
指令:[ProductListComponent]
})
导出类AppComponent{
PageTitle:string=“Acme产品管理”;

}
在您的
ProductListComponent
中,确实有
从导入{ProductService}./products/product.service'
,对吗?

ProductListComponent
中,确实有
从导入{ProductService}./products/product.service'
,对吗?

我觉得一切都很好。你能在
ProductListComponent
的构造函数中尝试
new ProductService()
而不是注入它吗?只是为了检查这是否会导致一条更有用的错误消息。@GünterZöchbauer我试过了,并且能够使用它。此外,我还将Provider参数添加到产品列表组件中,即使这样也可以正常工作。只有子级的根组件有问题。我不知道“将提供程序参数添加到产品列表”是什么意思。如果我添加提供程序参数,则我将使用产品列表组件。我的意思是当我提供像@component({provider:[ProductService]})这样的代码时;在Produclist组件中,它能够解析。我希望angular DI会将rootcomponent的提供者注入到它的子系统中,没错。不知道为什么在你的情况下不起作用。我觉得一切都很好。你能在
ProductListComponent
的构造函数中尝试
new ProductService()
而不是注入它吗?只是为了检查这是否会导致一条更有用的错误消息。@GünterZöchbauer我试过了,并且能够使用它。此外,我还将Provider参数添加到产品列表组件中,即使这样也可以正常工作。只有子级的根组件有问题。我不知道“将提供程序参数添加到产品列表”是什么意思。如果我添加提供程序参数,则我将使用产品列表组件。我的意思是当我提供像@component({provider:[ProductService]})这样的代码时;在Produclist组件中,它能够解析。我希望angular DI会将rootcomponent的提供者注入到它的子系统中,没错。不知道为什么在你的情况下不起作用。