Ionic5 ile yapılan projelerde ionic 6 geçişinde Events kaldırılmıştır. Aşağıdaki yöntem ile değişimi sağlayabilirsiniz.
import { Events} from ‘@ionic/angular’; => import { Events } from './helpers/EventFix.js';
EventFix.js dosyası açın ve içerisinde aşağıdaki kodları yapıştırın.
import { Injectable } from '@angular/core';
@Injectable()
export class Events {
private _channels: { [key: string]: ((...args: any[]) => void)[] } = {};
public subscribe(topic: string, handler: (...args: any[]) => void) {
if (!this._channels[topic]) {
this._channels[topic] = [];
}
this._channels[topic].push(handler);
}
public publish(topic: string, ...args: any[]) {
if (this._channels[topic] && this._channels[topic].length) {
this._channels[topic].forEach(handler => handler(...args));
}
}
public unsubscribe(topic: string, handler: ((...args: any[]) => void) = null) {
if (!handler) {
delete this._channels[topic];
}
const index = this._channels[topic].indexOf(handler);
if (index > 0) {
this._channels[topic].splice(index, 1);
}
if (!this._channels[topic].length) {
delete this._channels[topic];
}
}
}t