angular – 泛型类型’Observable’需要1个类型参数

前端之家收集整理的这篇文章主要介绍了angular – 泛型类型’Observable’需要1个类型参数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Angular 2(TypeScript)代码下面给出了3以下的错误,如何解决它们.请建议.
  1. import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
  2. import { NgModule,Component } from '@angular/core';
  3. import { BrowserModule } from '@angular/platform-browser';
  4. import { HttpModule,Http } from '@angular/http';
  5. import 'rxjs/add/operator/map';
  6. import { Observable } from "rxjs/Observable";
  7.  
  8. @Component({
  9. selector: 'http-client',template: `<h1>All Products</h1>
  10. <ul>
  11. <li *ngFor="let product of products">
  12. {{product.title}}
  13. </li>
  14. </ul>
  15. `})
  16. class AppComponent {
  17.  
  18. products: Array<string> = [];
  19.  
  20. theDataSource: Observable;
  21.  
  22. constructor(private http: Http) {
  23.  
  24. this.theDataSource = this.http.get('api/products/')
  25. .map(res => res.json());
  26. }
  27.  
  28. ngOnInit() {
  29. // Get the data from the server
  30. this.theDataSource.subscribe(
  31. data => {
  32. if (Array.isArray(data)) {
  33. this.products = data;
  34. } else {
  35. this.products.push(data);
  36. }
  37. },err =>
  38. console.log("Can't get products. Error code: %s,URL: %s ",err.status,err.url),() => console.log('Product(s) are retrieved')
  39. );
  40. }
  41. }
  42.  
  43. @NgModule({
  44. imports: [BrowserModule,HttpModule],declarations: [AppComponent],bootstrap: [AppComponent]
  45. })
  46. class AppModule { }
  47.  
  48. platformBrowserDynamic().bootstrapModule(AppModule);

错误是,

> TS2314泛型类型’Observable’需要1个类型的参数.
> TS7006参数’data’隐式具有’any’类型.
> TS7006参数’err’隐式具有’any’类型.

  1. theDataSource: Observable<any>;

任何可以(或应该如果可能的话)是一个更具体的类型,它匹配它应该发出的值的类型.

猜你在找的Angularjs相关文章