C'est app.module.ts
J'ai essayé de faire l'importation de la carte dans différents projets et cela a bien fonctionné, mais dans ce projet cela ne fonctionne pas.
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import {HttpModule} from '@angular/http';
import { AppComponent } from './app.component';
import { PagesComponent } from './pages/pages.component';
@NgModule({
declarations: [
AppComponent,
PagesComponent
],
imports: [
BrowserModule,
HttpModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
app.component.ts
import { Component } from '@angular/core';
import {PageService} from './page.service';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ["../assets/public/css/adminstyle.css",
"../assets/public/css/demo.css",
"../assets/public/css/style.css"
,"../assets/public/css/stylesheet.css"],
providers:[PageService]
})
export class AppComponent {
title = 'app';
}
page.service.ts
import {Injectable} from '@angular/core';
import {Http,Headers} from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable({
providedIn: 'root'
})
export class PageService {
constructor(private http:Http) {
console.log('Task Service Initialized');
}
}
Il y a quelques changements assez lourds dans l'utilisation de rxjs 6.
Importations:
Comme déjà indiqué, vous devriez maintenant utiliser:
import { map } from 'rxjs/operators';
(et identique pour les autres opérateurs)
Je veux mentionner ici les autres principaux changements:
Observable
, Subject
et les méthodes qui créent Observable
s (comme of
) doivent maintenant être importés comme ceci:
import { Observable, of, Subject } from 'rxjs';
Vous devrez utiliser pipe
pour appliquer la plupart des opérateurs, ce qui peut paraître un peu étrange.
par exemple. :
obs.pipe(
map(....),
secondOperator(....),
thirdOperator()
)
au lieu de
obs.map(....)
.secondOperator(....)
.thirdOperator()
Et enfin, en raison du changement avec pipe et du conflit avec les mots réservés JavaScript, certains opérateurs ont dû être renommés:
do
devient tap
catch
et finally
deviennent catchError
finalize
switch
devient switchAll
d'autres fonctions ont également été renommées:
fromPromise
devient from
throw
devient throwError
Dans angular 6 import 'rxjs/add/operator/map';
devenir:
import { map } from 'rxjs/operators';
Lire ici: https://www.academind.com/learn/javascript/rxjs-6- what-changed/
Les versions les plus récentes de Angular ne prend pas en charge la carte. Vous devez donc l'installer à l'aide de la commande Invite à l'aide de la commande suivante. Commencez par accéder au répertoire du projet et à la commande suivante:
npm install --save rxjs-compat
N'oubliez pas d'importer ceci:
import 'rxjs/add/operator/map';
Merci!