1.tabs.tsc
import { Component } from '@angular/core';
import { IonicPage, NavController, MenuController, Events } from 'ionic-angular';
import { Subscription } from "rxjs";
import { TimerObservable } from "rxjs/observable/timerObservable";
@IonicPage()
@Component({
selector: 'page-tabs',
templateUrl: 'tabs.html'
})
export class TabsPage {
lastPing?: Date = null;
private subscription: Subscription;
constructor(public navCtrl: NavController, public menuCtrl: MenuController, public events: Events) {
}
ionViewDidLoad() {
this.lastPing = new Date();
this.events.subscribe('user:click', (info, time) => {
console.log('user:click', info, 'at', time);
this.lastPing = new Date();
});
let timer = TimerObservable.create(20000, 5000);
this.subscription = timer.subscribe(t => {
console.log('ionViewDidLoad t: ' + t);
var now = new Date();
var diff = this.toSeconds(now - this.lastPing);
console.log(diff.toString());
});
}
toSeconds(diff) {
var ms = diff % 1000;
diff = (diff - ms) / 1000;
var secs = diff % 60;
diff = (diff - secs) / 60;
var mins = diff % 60;
return mins;
}
ionViewDidLeave() {
this.subscription.unsubscribe();
}
openMenu(menuId : any) {
this.events.publish('user:click', 'openMenu', Date.now());
}
}
2.結果畫面

