我收到以下消息:“错误:无法解析 ProductsService 的所有参数”。
引用号:http://www.telerik.com/kendo-angular-ui/components/dropdowns/dropdownlist/#toc-data-binding
产品.model.ts
export class Product {
constructor(
public ProductID?: number,
public ProductName?: string,
public UnitPrice?: number,
public UnitsInStock?: number,
public Discontinued?: boolean
) { } }
产品.service.ts
import { Injectable } from '@angular/core';
import { Jsonp, JsonpModule } from '@angular/http';
import { Product } from './product.model';
import { Observable } from 'rxjs/Rx';
@Injectable()
// See: http://www.telerik.com/kendo-angular-ui/components/dropdowns/dropdownlist/#toc-data-binding
export class ProductsService {
constructor( private jsonp: Jsonp) { }
fetchData(action: string = "", data?: Product): Observable<Product[]>{
console.log("BGW Action: " + action);
console.log("BGW this.serializeModels(data) = " + this.serializeModels(data));
return this.jsonp.get(`http://demos.telerik.com/kendo-ui/service/Products/${action}?callback=JSONP_CALLBACK${this.serializeModels(data)}`).map(response => response.json())
}
private serializeModels(data?: Product): string {
return data ? `&models=${JSON.stringify([data])}` : '';
}
}
app.component.ts
包含:
import { ProductsService } from './products.service';
import { Product } from './product.model';
import { Inject } from '@angular/core';
还有:
providers: [ProductsService],
还有:
public productsData: Array<Product> = [];
// public listItems: Array<string> = [];
还有:
//constructor (@Inject(ProductsService) private productService: ProductsService) { }
constructor (private productService: ProductsService) { }
ngOnInit() {
this.productService.fetchData().subscribe(
(data) => this.productsData = data
)
}
非常感谢任何想法。
问候,
本
最佳答案
为了解决这个问题,我在 app.component.ts 中进行了更改:
constructor (private productsService: ProductsService) { }
至
constructor (@Inject(ProductsService) private productsService: ProductsService) { }
在product.service.ts中,更改:
constructor( private jsonp: Jsonp) { }
至:
constructor(@Inject(Jsonp) private jsonp: Jsonp) { }
关于Angular 2 TypeScript 错误 : Can't resolve all parameters for ProductsService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41966820/