1
我有一个根组件,它是AppComponent,我已经在根组件(ProductService)中注入了一个服务,我试图在其中一个子组件(ProductList)中解析该服务。我在发生错误角2中的等级依赖注入
没有为ProductService提供服务! (ProductListComponent - > ProductService)
这里是根组件和儿童组件的代码
import {
Component
}
from 'angular2/core'
import {
ProductListComponent
}
from './products/product-list.component'
import {
ProductService
}
from './products/product.service'
/**
* AppComponent
*/
@
Component({
selector: 'pm-app',
template: `
<div>
<h1>{{PageTitle}}</h1>
<pm-products></pm-products>
</div>
`,
providers: [ProductService],
directives: [ProductListComponent]
})
export class AppComponent {
PageTitle: string = "Acme Product Management";
}
ProductListComponent
@Component({
selector: 'pm-products',
templateUrl: 'app/products/product-list.component.html',
styleUrls: ['app/Products/products-list.component.css'],
pipes: [ProductFilterPipe],
directives: [StarComponent]
})
export class ProductListComponent implements OnInit {
PageTitle: string = "Product List";
imageWidth: number = 50;
imagemargin: number = 2;
showImage: boolean = false;
filterBy: string;
products: IProduct[];
constructor(public _productService:ProductService){
}
}
我对角度2 DI的理解是,如果服务是以root身份注入的,它会注入到它的子组件中。我需要做额外的事吗?
恕我直言,所有看起来不错。你可以在'ProductListComponent'的构造函数中'new ProductService()'而不是注入它吗?只是为了检查这是否会产生更有用的错误消息。 –
@GünterZöchbauer我试过了,我可以使用它。另外我已经将Provider参数添加到产品列表组件,甚至工作正常。只有孩子的根组件存在问题。 – satish
我不知道您的意思是“将Provider参数添加到产品列表”。 –