2016-06-01 13 views
8

私は購読するために次のコードを使用しようとしていますが、動作しません。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') 
    }); 
    } 
} 

私は活字体とイオン2を使用しています、platform.pauseとしてアンギュラ2.イオン2が提供持つEventEmitterですが、私はそれを購読することができなければならないと仮定します。しかし、アプリケーションをバックグラウンドに置くと、console.log('pause')は起動されません。

プロバイダーなどにPlatformを追加する必要がありますか?さらに、this.platformはnullではありません。 this.platform.ready().then(()=>{console.log('ready')})は完全に機能します。

+0

「機能しません」とはどういう意味ですか?私は 'paused'を印刷しませんでしたか? –

+0

@GünterZöchbauer\t はい、正確です。 –

+0

ここには 'this.platform.pause'とは​​何が印刷されていませんか?あなたの質問をいくつかのコードで更新するかplunkerで問題を再現できます –

答えて

8

は、私はあなたが上記のコードは私のために働いた

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

以下のようにplatform.ready()を逃したと思います。それがあなたにも役立つことを願っています。

関連する問題