J'utilise la fonction Événement pour publier des données dans l'application. Mais cela ne fonctionne pas dans ionic 4. J'ai besoin de connaître les événements de support ionic 4 ou pas?
import { Events } from '@ionic-angular';
// Module not found: Error: Can't resolve '@ionic-angular'
3 Réponses :
La solution ci-dessous fonctionne dans ionic v4
import { Events } from '@ionic/angular';
constructor(private events: Events) {
events.subscribe('notificationLength', notilen => {
//TO DO`enter code here`
})
}
// Publish the events where ever you want
this.events.publish('notificationLength', this.NotificationList.length)
Le problème était dans la version. Lorsque j'ai mis à jour le dernier correctif de la version 4, cela fonctionnait.
npm i @ionic/angular@4.11.10
Vous pouvez utiliser @angular/Events
//Page for getMessage
subscription: Subscription;
constructor(private events: EventsService) {
this.subscription = this.events.getMessage().subscribe(text => {
console.log(text.created);
})
}
//Page for sendMessage
constructor(private events: EventsService) {
this.events.sendMessage({'created':1}); //send message key-value format
}
//MyEvents Service Page
import { Injectable } from '@angular/core';
import { Subject, Observable } from 'rxjs';
@Injectable({
providedIn: 'root'
})
export class EventsService {
constructor() { }
private subject = new Subject<any>();
sendMessage(text){
this.subject.next(text);
}
getMessage():Observable<any>{
return this.subject.asObservable();
}
}
Typo @ ionique / angulaire
ouais on dirait que les événements ne sont pas pris en charge dans la v4. Au moins les documents officiels ne le mentionnent pas; /
Parcourez les documents sur la migration. Il est pris en charge mais le nom du package a changé.