2016-06-01 17 views
8

Sto cercando di utilizzare il seguente codice per iscriversi, ma non funziona.Come iscriversi alla piattaforma Ionic 2.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') 
    }); 
    } 
} 

sto usando ionico 2 con tipografico, angolare 2. Come platform.pause è un EventEmitter fornito da ionico 2, suppongo che dovrebbe essere in grado di essere sottoscritto. Tuttavia, quando inserisco l'applicazione sullo sfondo, console.log('pause') non viene attivato.

Devo aggiungere Platform a provider o qualcosa del genere? Inoltre, this.platform non è null. this.platform.ready().then(()=>{console.log('ready')}) funziona perfettamente.

+0

Che cosa significa "non funziona"? Ho 'messo in pausa' non stampato? –

+0

@ GünterZöchbauer \t Sì, esattamente. Non è stato stampato come si suppone a –

+0

cosa è 'this.platform.pause' qui? aggiorna la tua domanda con un altro codice o puoi riprodurre il tuo problema su plunker –

risposta

8

penso che vi siete persi platform.ready() come di seguito

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'); 
     }); 
    }); 
} 

Il codice di cui sopra ha funzionato per me. Spero che ti aiuti pure.