背景:复宏汉霖我的项目CR做完后.来整顿下须要优化的中央和给其余页面发送音讯知识点.

优化我的项目启动工夫

先记一下:最开始运行的时候所需工夫:

删完99%的console.log和解决掉所有tslint的报错后我的项目跑起来的工夫:

整整少了14.78s.真得不要小看console.log...

发送音讯

理论开发场景 : 以后登录人的信息是保留在主页面的.最开始登陆进去的时候存入主页面的,而后其余页面用到的人员信息是主页面传进去的.在其中一个模块批改了人员岗位后.主页面没有从新获取人员信息.则会导致其余模块的信息有误.
解决思路: 在其中一个模块批改了人员岗位后,给主页面传一个音讯.通知它须要从新获取登录人的信息.
(其余任意页面都能通过Events获取到这个音讯)

// 批改人员岗位的模块代码内容:import {Events} from 'ionic-angular';export class SetupPage { constructor(public ev: Events){}  // 岗位切换 chooseJob = ()=>{     if (this.territoryList.length <= 1) {        return;     }    let modal = this.modalCtrl.create("ChooseJobPage", { jobList:this.territoryList ,territoryID},{ cssClass: 'inset-modal'});    modal.onDidDismiss(data => {     if (data.action == 'save') {    // 在岗位切换胜利后通知主页面要从新获取人员信息    // 利用this.ev.publish('selectedStff')发消息.        this.staffService.SelectedTerritoryToken(json).then((info) => {this.ev.publish('selectedStff')})}    });    modal.present(); }}
// 主页面代码内容:import {Events} from 'ionic-angular';export class MyApp { constructor(public ev: Events){      // 接管到音讯后,去调取获取人员信息接口      ev.subscribe("selectedStff", () =>{         this.getStaffInfo();     }) }  // 获取以后用户信息 getStaffInfo = () => this.staffService.GetStaffInfo().then((info) => {    // 从新赋值人员信息    this.currentStaff = info; });}