npm install --save eventemitter3
1、定义公共的服务配置 EventEmitter
import { Injectable} from '@angular/core';
import {EventEmitter} from 'eventemitter3';
@Injectable({
providedIn: 'root'
})
export class EventService {
public eventEmit: any;
constructor() {
// 定义发射事件
this.eventEmit = new EventEmitter();
}
}
2、用户中心页面监听事件广播
import { EventService } from '../services/event.service';
this.eventService.eventEmit.on('login',(result)=>{
console.log('执行');
})
3、登录页面返回的时候发送广播
import { EventService } from '../services/event.service';
ionViewDidLeave(){
this.eventService.eventEmit.emit('login','登录页面退出了');
}
4、避免重复监听需要在销毁的时候移除监听
ngOnDestroy(){
this.eventService.eventEmit.removeListener('login')
}