2016-06-01 15 views
8

Ich versuche, den folgenden Code zu verwenden, um zu abonnieren, aber es funktioniert nicht.Wie abonniere ich Ionic 2 platform.pause EventEmitter?

import { Platform } from 'ionic-angular'; 
@Page({ 
    templateUrl: 'build/pages/test.html', 
})  
export class Test{ 
    constructor(private platform: Platform) { 
     this.platform.pause.subscribe(() => { 
     console.log('paused') 
    }); 
    } 
} 

Ich bin mit Ionic 2 mit Typoskript, Angular 2. Wie platform.pause ist ein EventEmitter von Ionic 2 vorgesehen ist, nehme ich es sollte in der Lage sein, abonniert werden. Wenn ich jedoch die Anwendung in den Hintergrund verschiebe, wird console.log('pause') nicht ausgelöst.

Sollte ich hinzufügen Platform zu Anbietern oder so ähnlich? Plus, diese.Plattform ist nicht null. this.platform.ready().then(()=>{console.log('ready')}) funktioniert perfekt.

+0

Was bedeutet "nicht funktioniert"? Ich habe 'pausiert' nicht gedruckt? –

+0

@ GünterZöchbauer \t Ja genau. Es wurde nicht so gedruckt, wie es heißt –

+0

Was ist 'this.platform.pause' hier? Aktualisieren Sie Ihre Frage mit etwas mehr Code oder reproduzieren Sie Ihr Problem auf dem Plotter –

Antwort

8

Ich glaube, du verpasst platform.ready(), wie unten

constructor(private platform: Platform) { 
    platform.ready().then(() => {  
     this.platform.pause.subscribe(() => { 
      console.log('[INFO] App paused'); 
     }); 

     this.platform.resume.subscribe(() => { 
      console.log('[INFO] App resumed'); 
     }); 
    }); 
} 

Der obige Code für mich gearbeitet. Hoffe es hilft dir auch.