2017-05-09 1 views
0

이온 2 MyApp 클래스에 있는데 한 화면을 3 초 동안 표시 한 다음 다른 화면으로 전환하려고합니다. this.nav.parent가 null 오류입니다. 두 가지 유형의 타이머를 시도 중이며 둘 다 작동하지 않습니다. 나는 탭을 사용하고 있으며, 그 방법으로 첫 번째 탭 페이지로 이동하기를 원합니다.이온 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

내가 사용하는 것이 좋습니다 지방 화살표 =>를 대신이 바인딩 : 문제가되지 않도록 즉, 다음 this에서 탐색 객체가 null의 경우, 작동하지 않는 경우

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

을 시간제 노동자.

0

나는 this.nav.parent가 null 왜 아무 생각하지만 난 탭 페이지를 전환 할 수있는 더 좋은 방법을 발견 :

this.nav.setRoot(TabsPage, { tabIndex: 1 }); 
관련 문제