Вам необходимо импортировать map
оператора:
import 'rxjs/add/operator/map'
Или в более общем плане:
import 'rxjs/Rx';
Примечание: для версий RxJS 6.x.x
и выше вам придется использовать конвейерные операторы, как показано в фрагменте кода ниже:
import { map } from 'rxjs/operators';
import { HttpClient } from '@angular/common/http';
// ...
export class MyComponent {
constructor(private http: HttpClient) { }
getItems() {
this.http.get('https://example.com/api/items').pipe(map(data => {})).subscribe(result => {
console.log(result);
});
}
}
Это вызвано тем, что команда RxJS удалила поддержку для использования. Для получения дополнительной информации смотрите последние изменения в журнале изменений RxJS.
Из журнала изменений:
Операторы : Pipeable операторы теперь должны быть импортированы из rxjs нравится так: import { map, filter, switchMap } from 'rxjs/operators';
. Нет глубокого импорта.
Observable
класс? Как это:import {Observable} from 'rxjs/Observable';
илиimport {Observable} from 'rxjs/Rx';
?npm install rxjs-compat
, чем импортироватьmap
оператора.Возвращаясь к этому, потому что мое решение не указано здесь.
Я использую Angular 6 с rxjs 6.0 и столкнулся с этой ошибкой.
Вот что я сделал, чтобы это исправить:
Я изменился
просто быть:
Я нашел исправление здесь:
https://github.com/angular/angular/issues/15548#issuecomment-387009186
источник
import { map } from 'rxjs/operators';
.catch
, мы можем использоватьcatchError
как.pipe(catchError(this.handleError))
?просто напишите эту команду в кодовом терминале вашего проекта и перезапустите проект.
Вам нужно импортировать
map
оператора, написав это:источник
Для угловых 7v
+ Изменить
к
И
источник
У меня была такая же проблема с Angular 2.0.1, потому что я импортировал Observable из
Вместо этого я решаю проблему импорта Observable по этому пути.
источник
Observable
(включая те, которые вы не используете) в пакет. Вместо этого вы должны импортировать каждого оператора в отдельности. Я рекомендую использовать «операторы lettable», которые были представлены в RxJS v5.5 для поддержки лучшего тряски деревьев.В rxjs 6 изменилось использование оператора карты, теперь вам нужно использовать его следующим образом.
Для справки https://www.academind.com/learn/javascript/rxjs-6-what-changed/#operators-update-path
источник
RxJS v6
это, должен будет использовать.pipe()
оператор или ни один из операторов не будет работать напрямую с Observable. Вы увидите ошибку вроде:Property 'share' does not exist on type 'Observable<{}>'
просто установите rxjs-compat, набрав в терминале:
затем импортировать:
источник
В последней версии Angular 7. *. * Вы можете попробовать это просто так:
И тогда вы можете использовать их
methods
следующим образом:Проверьте это демо для более подробной информации.
источник
В моем случае недостаточно включить только карту и обещание:
Я решил эту проблему, импортировав несколько компонентов rxjs, так как официальная документация рекомендует:
1) Импортировать операторы в один файл app / rxjs-operator.ts:
2) Импортируйте сам rxjs-оператор в свой сервис:
источник
В приведенной выше функции вы можете видеть, что я не использовал res.json (), так как я использую HttpClient. Он применяет res.json () автоматически и возвращает Observable (HttpResponse <string>). Вам больше не нужно вызывать эту функцию самостоятельно после углового 4 в HttpClient.
источник
У меня была та же проблема, я использовал Visual Studio 2015, которая имела старую версию машинописи.
После обновления расширения проблема была решена.
Ссылка на скачивание
источник
Я использую Angular 5.2, и когда я
import 'rxjs/Rx';
его использую, я получаю следующую ошибку lint: TSLint: этот импорт занесен в черный список, вместо этого импортируется подмодуль (import-blacklist)Смотрите скриншот ниже:
РЕШЕНИЕ: Решил это, импортировав только те операторы, которые мне были нужны . Пример следует:
Поэтому исправление будет заключаться в импорте только необходимых операторов.
источник
Просто установите rxjs-compat для решения проблемы
И импортируйте это как ниже
источник
Прежде всего, запустите установку, как показано ниже:
Теперь вам нужно импортировать
rxjs
вservice.ts
:Вуаля! Проблема была исправлена.
источник
просто запустите,
npm install --save rxjs-compat
чтобы исправить ошибку.Рекомендуется здесь
источник
Я перепробовал все возможные ответы, опубликованные выше, но ни один из них не сработал,
Пусть это кому-нибудь поможет.
источник
Я тоже столкнулся с такой же ошибкой. Одно решение , которое работало для меня было добавить следующие строки в service.ts файл вместо из
import 'rxjs/add/operator/map'
:Например, мой app.service.ts после отладки был похож,
источник
Если после импорта import 'rxjs / add / operator / map' или импорта rxjs / Rx 'вы также получаете такую же ошибку, то перезапустите ваш редактор кода Visual Studio, ошибка будет устранена.
источник
для всех тех пользователей Linux, у которых есть эта проблема, проверьте, заблокирована ли папка rxjs-compat. У меня была точно такая же проблема, и я зашел в терминал, использовал sudo su, чтобы дать разрешение всей папке rxjs-compat, и это было исправлено. Это при условии, что вы импортировали
в файле project.ts, где произошла исходная ошибка .map.
источник
Используйте
map
функцию вpipe
функции, и она решит вашу проблему. Вы можете проверить документацию здесь .источник
npm install rxjs @ 6 rxjs-compat @ 6 - сохранить
источник
запустить команду
Я просто импортирую
перезапустите vs код, проблема решена.
источник
Новая версия angular не поддерживает .map, вы должны установить это с помощью cmd npm install --save rxjs-compat, который вы можете использовать со старой техникой. примечание: не забудьте импортировать эти строки.
источник