2016-06-01 15 views
8

Próbuję użyć następującego kodu, aby subskrybować, ale to nie działa.Jak zasubskrybować platformę Ionic2. Czy 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') 
    }); 
    } 
} 

Używam joński 2 z maszynopis, kątowe 2. W platform.pause stanowi EventEmitter dostarczone przez jońskich 2, przypuszczam powinien móc być subskrybowane. Jednak po umieszczeniu aplikacji w tle, console.log('pause') nie jest wywoływane.

Czy powinienem dodać Platform do dostawców lub coś w tym stylu? Dodatkowo platforma this.pl nie jest null. this.platform.ready().then(()=>{console.log('ready')}) działa idealnie.

+0

Co oznacza "nie działa"? "Wstrzymałem", nie wydrukowałem? –

+0

@ GünterZöchbauer \t Tak, dokładnie. Nie została wydrukowana tak, jak przypuszcza –

+0

co to jest "this.platform.pause" tutaj? zaktualizuj swoje pytanie za pomocą jakiegoś dodatkowego kodu lub możesz odtworzyć swój problem na plunker –

Odpowiedz

8

Chyba brakowało platform.ready() jak poniżej

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

Powyższy kod pracował dla mnie. Mam nadzieję, że to ci pomoże.

Powiązane problemy