2017-03-03 1 views
0

앞으로 또는 뒤로 탐색 할 때 페이지가 표시되는지 여부를 구분할 수 있습니까? 전방 탐색 인 경우에만 일부 코드를 실행하고 싶습니다.페이지에서 앞으로 및 뒤로 탐색을 구분합니다. Ionic2

+0

생성자에서 해당 코드를 실행하면 어떻게됩니까? 이 페이지로 돌아 가면 다시 실행되지 않으며, 사용자가 'push'(루트로 설정하는 대신)하는 페이지라고 가정하면 사용자가 해당 페이지로 이동할 때마다 실행됩니다. – sebaferreras

답변

0

사례 1 : - 1 페이지에서 다른 페이지로 이동한다고 가정 해보십시오. 나는. navCtrl.push(Page,params)을 사용하십시오.

여기서 코드를 constructor(){}에 넣을 수 있습니다. 페이지로 밀거나 탐색 할 때 생성자의 코드가 항상 실행됩니다. - 전달.는 (. 오히려 밀어보다, 당신은 또한이 다음도 유효한 rootpage에 스택을 다시 설정할 수 있습니다.)

CASE 2 : - 뒤로 -가 다시 페이지에서 탐색하는 말. 나는. 앱에서 수동으로 돌아가거나 navCtrl.pop()을 사용하여

아니요 여기에는 내가 뒤 페이지에서 이동했는지 인식 할 수있는 내장 된 방법이 있습니다. 여기에서 자신 만의 논리를 만들어야합니다.

예를 들어 PageA -> PageB는 내비게이션입니다. PageA -> PageB에서 탐색 할 때 localStorage 변수를 일부 값 (예 : localStorage.setItem('isPushed',true))으로 설정하는 데 사용했습니다. 특정 페이지를 탐색 할 때

ionViewWillEnter(){ 
    if(JSON.parse(localStorage.getItem('isPushed')){ 
     localStorage.setItem('isPushed',false); 
     // Your Code to be executed when entering to back page. 
    } 
} 

ionViewWillEnter() 항상 실행됩니다 :

이제 페이지 A에서 나는 ionViewWillEnter()를 사용하여이 코드를 작성했습니다. 그래서, 여기 내 생각은 단지 다음 페이지에서 뒤 페이지로 이동했는지 탐지하는 것입니다. 희망이 도움이됩니다. :)

참고 : 나는 이와 관련된 모든 조건을 처리하지 않았습니다. 당신은 그것을 해결해야만합니다. 이것은 단지 사용할 논리의 아이디어 일뿐입니다.

관련 문제