Ionic 2 - 设置超时,在X秒后将页面弹出到root

Ste*_*hen 1 typescript ionic-framework ionic2

目前,当用户提交表格时,它会显示并感谢您叠加 - 2.5秒后,我希望叠加层消失.

我目前的代码看起来像这样.

import { Component } from '@angular/core';

import { NavController, ViewController } from 'ionic-angular';
import { Storage } from '@ionic/storage';

@Component({
    selector: 'finish-page',
    templateUrl: 'finish.html'
})

export class FinishPage {

    constructor(
        public navCtrl: NavController,
        public viewCtrl: ViewController
    )
    {}

    ionViewWillEnter()
    {
        setTimeout(() => {
            this.navCtrl.popToRoot();
        }, 2500);
    }
}
Run Code Online (Sandbox Code Playgroud)

但页面永远保持不变,永远不会弹回到根页面

编辑:我认为我有超时工作,但现在我收到此错误:

无法读取未定义的属性'popToRoot'

Cal*_*ank 6

正如Christian Benseler所说,没有ionViewOnEnter(); 函数最接近的东西是ionViewWillEnter()或ionViewDidEnter();

尝试改变它们甚至只使用ngOnInit(); 如果这些不起作用,您可能需要导入页面并使用setRoot()来实现您的目标,如下所示.

不要忘记导入您正在设置root的页面

ngOnInit(){
    setTimeout(() => {
        // this.navCtrl.popToRoot();
        // might try this instead
        this.navCtrl.setRoot(page);
    }, 2500);
}
Run Code Online (Sandbox Code Playgroud)