离子2计时器导致app类崩溃

时间:2017-05-09 20:42:31

标签: ionic2

我在离子2 MyApp课程中,我希望显示一个屏幕3秒然后切换到另一个屏幕。 我得到一个this.nav.parent是null错误。 我正在尝试两种类型的计时器,但都没有工作。 我正在使用标签,并希望它顺便进入第一个标签页。

gotoFirstPage()
{
    //these two lines work fine
    //this.nav.setRoot( TabsPage );
    //this.nav.parent.select(1); //this.nav.parent is not null here

    setTimeout((function()
    {
        this.nav.setRoot( TabsPage );
        this.nav.parent.select(1);  //this.nav.parent is null
    }.bind(this)),3000);

    let timer = Observable.timer(3000, 86400000);
   timer.subscribe(t => {
       this.nav.setRoot( TabsPage );
       this.nav.parent.select(1); //this.nav.parent is null
   });
}

2 个答案:

答案 0 :(得分:0)

我建议使用胖箭=>而不是绑定它:

setTimeout(() =>
{
    this.nav.setRoot( TabsPage );
    this.nav.parent.select(1);  //this.nav.parent is null
},3000);

如果这不起作用,那么this中的导航对象为空,所以问题不在于计时器。

答案 1 :(得分:0)

我不知道为什么this.nav.parent为null但我找到了更好的切换标签页的方法:

this.nav.setRoot( TabsPage, { tabIndex: 1 } );