ionic4.x EventEmitter3的使用

安装:

npm install --save eventemitter3

创建event.service

import { Injectable } from '@angular/core';

// var EventEmitter = require('eventemitter3');

import { EventEmitter } from 'eventemitter3';


@Injectable({
  providedIn: 'root'
})
export class EventService {

  public event:any;

  constructor() {

    this.event=new EventEmitter();   //这个实例就会被多个组件共享  来实现不同页面的数据通信
   }
}

使用

比如登陆成功后,更新个人中心页面数据:

登陆页面,引入事件服务:

在登陆成功后发布事件:

      //通知用户中心更新用户信息
              this.eventService.event.emit('useraction');

个人中心监听事件:

ngOnInit() {

    //监听注册 登录成功的事件
    this.eventService.event.on('useraction',()=>{
        var userinfo=this.storage.get('userinfo');
        if(userinfo && userinfo.username){
          this.userinfo=userinfo;
        }else{
          this.userinfo='';
        } 
   
    })
 
  }
原文地址:https://www.cnblogs.com/loaderman/p/11527186.html