1
votes

Ionic 4 ne prend pas en charge les événements?

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 commentaires

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é.


3 Réponses :


1
votes

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)


0 commentaires

0
votes

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 


0 commentaires

2
votes

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();
    }
}


0 commentaires