2017-05-09 43 views
0

我在离子2 MyApp类,我想显示一个屏幕3秒,然后切换到另一个。 我得到一个this.nav.parent为空错误。 我正在尝试两种类型的定时器,但都没有工作。 我正在使用标签,并希望它顺便去到第一个标签页。离子2计时器导致应用程序类崩溃

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

回答

0

我建议用一份丰厚的箭头=>代替这种绑定:

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

如果不工作,然后在你的this导航对象为空,所以这个问题是不计时器。

0

我不知道为什么this.nav.parent为空,但我发现了一个更好的方式来切换标签页:

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