首页 > 解决方案 > 错误 TS2339:“可观察”类型上不存在属性“地图”'?

问题描述

我在下面有一个简单的 angular2 服务,在运行时我收到错误“错误 TS2339:‘Observable’类型上不存在属性‘地图’”。我已经导入了所有运算符,但仍然无法正常工作。对此有任何想法吗?

import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Observable } from 'rxjs';
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/catch';

import { Currency } from './currency';

@Injectable({
providedIn: 'root'
})
export class AppService {

private baseUrl: any = 'https://api.fixer.io/latest?base=';

 constructor(private http: Http) { }

 getCurrencyRates(base: string): Observable<Currency[]> {
  return this.http.get(this.baseUrl + base)
  .map((res: Response) => res.json())
  .catch(err => err)
}
}

标签: angular2-services

解决方案


确保添加“import { Observable } from 'rxjs';” 然后尝试“import { map } from 'rxjs/operator';” 或“从 'rxjs/operators' 导入 { map };” ...而不是“导入'rxjs/add/operator/map';” .我知道这必须为 Angular 5 添加,但这也可能在 Angular 2 中运行。


推荐阅读