He actualizado de Ionic 4 a Ionic 5, ahora aparece el siguiente error:
ERROR en src/app/app.component.ts(4,10): error TS2305: Módulo '"/node_modules/@ionic/angular/ionic-angular"' no tiene miembro exportado 'Eventos'.
La siguiente línea de importación está causando el problema:
import { Events, Platform } from '@ionic/angular'; ¿Cómo puedo corregir un evento de miembro de un error @ionic/angular en Ionic 5?
Events del paquete @ionic/angular se eliminaron de Ionic 5. Puede ver los cambios importantes en Ionic5 aquí .
Como se menciona en los cambios de última hora, debe usar Observables .
Por ejemplo, puede crear el siguiente servicio:
import {Injectable} from '@angular/core'; import {Subject} from 'rxjs'; @Injectable({ providedIn: 'root' }) export class GlobalFooService { private fooSubject = new Subject<any>(); publishSomeData(data: any) { this.fooSubject.next(data); } getObservable(): Subject<any> { return this.fooSubject; } } Ahora, puede suscribirse en cualquier componente como app.component.ts :
@Component({ selector: 'app-root', templateUrl: 'app.component.html', styleUrls: ['app.component.scss'] }) export class AppComponent { constructor(private globalFooService: GlobalFooService) { this.initializeApp(); } initializeApp() { // other code this.globalFooService.getObservable().subscribe((data) => { console.log('Data received', data); }); } }Ahora, solo tienes que emitir el evento desde algún otro componente:
@Component({ selector: 'app-home', templateUrl: 'home.page.html', styleUrls: ['home.page.scss'] }) export class HomePage { constructor(private globalFooService: GlobalFooService) { } onSomeButtonClick() { this.globalFooService.publishSomeData({ foo: 'bar' }); } } Esta es una solución/ejemplo o alternativa muy simple de los Events , pero puede modificar su código aún más para convertirlo en un evento con espacio de nombres con un tema.
He escrito un blog sobre esto que puede brindarle una solución completa para que con un cambio de código muy inferior, pueda actualizar su aplicación.
https://medium.com/wizpanda/lidiando-con-el-cambio-rompiendo-en-ionic-5-db3ba711dfcd
Se han eliminado los eventos. Puede hacer su propio servicio como evento propio utilizando observables y el comportamiento del sujeto para que pueda publicar en el observable y suscribirse para obtener el valor.