ошибка TS2339: свойство 'map' не существует для типа 'Observable <Response>'? - PullRequest
0 голосов
/ 08 мая 2018

У меня есть простая служба angular2 ниже, и во время работы я получаю сообщение об ошибке "ошибка TS2339: свойство 'map' не существует для типа '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)
}
}

Ответы [ 3 ]

0 голосов
/ 29 мая 2018

Убедитесь, что вы добавили "import {Observable} from 'rxjs';" а затем попробуйте "import {map} from 'rxjs / operator';" или "import {map} from 'rxjs / operator';" ... вместо "import 'rxjs / add / operator / map';" .Я знаю, что это должно быть добавлено для Angular 5, но это может работать и для Angular 2.

0 голосов
/ 03 октября 2018

я получил ту же ошибку, но я сделал эту установку npm,

npm install --save rxjs-compat

и импортируется в служебный файл,

import 'rxjs/Rx';

это сработало ...

0 голосов
/ 08 мая 2018

Исходя из этого вопроса: Должен ли я использовать `import 'rxjs / Rx'` и` import {Observable} из' @ rxjs / Observable'`

import { Observable } from 'rxjs/Observable'
...