Ionic 2 / Angular 2 - 定时器事件功能打开模型

时间:2017-04-08 02:16:41

标签: angular ionic2

我有一个Ionic 2应用程序,我想每10分钟启动一个模型。在app.components.ts

我有简单的功能来启动这个模型。

openUpgradeModel() {
let modal = this.modalCtrl.create(UpgradeToFullVersionModel);
modal.present();
}

如何让这个功能每隔10分钟左右启动一次?

更新,所以我尝试使用Observable.timer,但它一遍又一遍地循环。

  this.platform.ready().then(() => {
    let timer = Observable.timer(2000,1000);
    timer.subscribe(t=> {
   UpgradeToFullVersionModel();
});

无论如何都要判断模特是否已经开放不要开火?

2 个答案:

答案 0 :(得分:2)

您需要setInterval()

setInterval(() => { openUpgradeModal(); }, 1000 * 60 * 10);

https://stackoverflow.com/a/35829004/3221120

答案 1 :(得分:1)

  

无论如何要判断模型是否已打开不要开火?

您可以在app.component.ts文件

中创建一个属性
// Should be set to true the first time
private shouldShowModal: boolean = true;

然后在显示模态时将该属性设置为false,但在解除模态时再将其设置为true:

openUpgradeModel() {
  let modal = this.modalCtrl.create(UpgradeToFullVersionModel);

  modal.onDidDismiss(() => {
    this.shouldShowModal = true;
  });

  this.shouldShowModal = false;

  // Show the modal
  modal.present();
}

然后,只显示模态,如果它尚未显示:

this.platform.ready().then(() => {

  let timer = Observable.timer(2000,1000);
  timer.subscribe(t => {
    if(this.shouldShowModal) {
      this.openUpgradeModel();
    }
  });

//..
});