2017-05-09 19 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 });