Vous devez importer l' map
opérateur:
import 'rxjs/add/operator/map'
Ou plus généralement:
import 'rxjs/Rx';
Remarque: pour les versions de RxJS 6.x.x
et supérieures, vous devrez utiliser des opérateurs canalisables comme indiqué dans l'extrait de code ci-dessous:
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);
});
}
}
Ceci est causé par l'équipe RxJS supprimant le support en utilisant Voir les changements de rupture dans changelog « RxJS pour plus d' informations.
Depuis le changelog:
opérateurs : les opérateurs Pipeable doivent maintenant être importés de rxjs comme ceci: import { map, filter, switchMap } from 'rxjs/operators';
. Pas d'importations profondes.
Thierry Templier
la source
Observable
classe? Comme ça:import {Observable} from 'rxjs/Observable';
ouimport {Observable} from 'rxjs/Rx';
?npm install rxjs-compat
, que d'importer l'map
opérateur.Revisiter cela parce que ma solution n'est pas répertoriée ici.
J'utilise Angular 6 avec rxjs 6.0 et j'ai rencontré cette erreur.
Voici ce que j'ai fait pour y remédier:
j'ai changé
être simplement:
J'ai trouvé le correctif ici:
https://github.com/angular/angular/issues/15548#issuecomment-387009186
la source
import { map } from 'rxjs/operators';
.catch
, nous pouvons utilisercatchError
comme.pipe(catchError(this.handleError))
?il suffit d'écrire cette commande dans le terminal vs code de votre projet et de redémarrer le projet.
Vous devez importer l'
map
opérateur en écrivant ceci:la source
Pour le 7v angulaire
Changement
À
Et
la source
J'ai eu le même problème avec Angular 2.0.1 parce que j'importais Observable depuis
Je résout mon problème lors de l'importation d'Observable à partir de ce chemin
la source
Observable
(y compris ceux que vous n'utilisez pas) dans le bundle. Au lieu de cela, vous devez importer chaque opérateur individuellement. Je recommande d'utiliser des "opérateurs locables", qui ont été introduits dans RxJS v5.5 pour prendre en charge un meilleur tremblement d'arbre.Dans rxjs 6, l'utilisation de l'opérateur de carte a été modifiée, vous devez maintenant l'utiliser comme ceci.
Pour référence https://www.academind.com/learn/javascript/rxjs-6-what-changed/#operators-update-path
la source
RxJS v6
fera devra utiliser le.pipe()
ou aucun des opérateurs ne fonctionnera directement depuis l'Observable. Vous verrez une erreur comme,Property 'share' does not exist on type 'Observable<{}>'
installez simplement rxjs-compat en tapant dans terminal:
puis importez:
la source
Dans le dernier Angular 7. *. * , Vous pouvez essayer ceci simplement comme:
Et puis vous pouvez les utiliser
methods
comme suit:Consultez cette démo pour plus de détails.
la source
Dans mon cas, il ne suffirait pas d'inclure uniquement la carte et la promesse:
J'ai résolu ce problème en important plusieurs composants rxjs comme le recommande la documentation officielle :
1) Importez des instructions dans un fichier app / rxjs-operators.ts:
2) Importez l'opérateur rxjs lui-même dans votre service:
la source
Dans la fonction ci-dessus, vous pouvez voir que je n'ai pas utilisé res.json () depuis que j'utilise HttpClient. Il applique res.json () automatiquement et renvoie Observable (HttpResponse <chaîne>). Vous n'avez plus besoin d'appeler cette fonction vous-même après angular 4 dans HttpClient.
la source
J'ai eu le même problème, j'utilisais Visual studio 2015 qui avait une ancienne version de dactylographiée.
Après la mise à niveau de l'extension, le problème a été résolu.
Lien de téléchargement
la source
J'utilise Angular 5.2 et lorsque je l'utilise,
import 'rxjs/Rx';
cela me génère l'erreur de peluche suivante: TSLint: cette importation est sur liste noire, importez plutôt un sous-module (import-blacklist)Voir la capture d'écran ci-dessous:
SOLUTION: Résolu en n'important que les opérateurs dont j'avais besoin . Voici un exemple:
Le correctif consisterait donc à n'importer spécifiquement que les opérateurs nécessaires.
la source
Installez simplement rxjs-compat pour résoudre le problème
Et l'importer comme ci-dessous
la source
Exécutez tout d'abord l'installation comme ci-dessous:
Vous devez maintenant importer
rxjs
dansservice.ts
:Voila! Le problème a été résolu.
la source
il suffit de l'exécuter
npm install --save rxjs-compat
pour corriger l'erreur.Il est recommandé ici
la source
J'ai essayé toutes les réponses possibles affichées ci-dessus, aucune d'entre elles n'a fonctionné,
Qu'il aide quelqu'un.
la source
Moi aussi, j'ai fait face à la même erreur. Une solution qui a fonctionné pour moi a été d'ajouter les lignes suivantes dans votre fichier service.ts au lieu de
import 'rxjs/add/operator/map'
:Par exemple, mon app.service.ts après le débogage était comme,
la source
Si après l'importation de l'importation 'rxjs / add / operator / map' ou de l'importation 'rxjs / Rx' vous obtenez également la même erreur, redémarrez votre éditeur de code Visual Studio, l'erreur sera résolue.
la source
pour tous les utilisateurs Linux qui rencontrent ce problème, vérifiez si le dossier rxjs-compat est verrouillé. J'ai eu exactement le même problème et je suis allé dans le terminal, j'ai utilisé le sudo su pour donner la permission à tout le dossier rxjs-compat et il a été corrigé. C'est en supposant que vous avez importé
dans le fichier project.ts où l'erreur d'origine .map s'est produite.
la source
Utilisez la
map
fonction enpipe
fonction et cela résoudra votre problème. Vous pouvez consulter la documentation ici .la source
npm install rxjs @ 6 rxjs-compat @ 6 --save
la source
exécutez la commande
Je viens d'importer
redémarrez le code vs, problème résolu.
la source
La nouvelle version angulaire ne prend pas en charge .map, vous devez l'installer via cmd npm install --save rxjs-compat via ce que vous pouvez apprécier avec l'ancienne technique. remarque: n'oubliez pas d'importer ces lignes.
la source