我尝试使用以下代码进行订阅,但它不起作用。
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')
});
}
}
我使用Ionic 2和TypeScript,Angular 2.由于platform.pause
是Ionic 2提供的EventEmitter,我想它应该可以订阅。但是,当我将应用程序置于后台时,console.log('pause')
不会被触发。
我应该将Platform
添加到提供商或类似的东西吗?另外,this.platform不是null
。 this.platform.ready().then(()=>{console.log('ready')})
效果很好。
答案 0 :(得分:10)
我认为你错过了platform.ready(),如下所示
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');
});
});
}
以上代码对我有用。希望它也能帮到你。