탐색 할 대상 페이지를 알 수 없기 때문에 현재 해당 시점을 볼 수 없습니다 (활성 페이지 정보는 avaible입니다). navController getActive() 메소드에서). 일반적으로 우리는 "이 페이지를 정말로 떠나시겠습니까?"라는 질문에 대한 경고를 사용합니다. ionViewCanLeave 핸들러에는 toPage/enteringPage와 같은 매개 변수가 없기 때문에 예를 들어 메뉴 옵션을 선택하고 OK를 누르면 알 수있는 한 "setRoot"를 대상 페이지로 알 수 없습니다.ionic2 ionViewCan을 사용하면 다음과 같은 이점이 있습니다. 이동 경고 메시지에 응답하기 위해 Navigationguard를 사용하십시오.
아무도 아직이를 관리하지 않았거나 ionic2 대상 페이지 정보의 탐색 개체에서 찾지 못했습니까? 여기
약간의 코드가 컨텍스트 설정 : 내가 질문을 이해ionViewCanLeave(): boolean { // no parameters on offer :-(
let result: boolean = false;
let alert: Alert = this._alertCtrl.create({
title: 'Are you sure you want to leave..?',
message: 'Your changes will be lost if you do?',
buttons: [
{
text: 'Cancel',
role: 'cancel',
handler:() => {
let dismiss: boolean = true;
return dismiss;
}
},
{
text: 'OK',
handler:() => {
let dismiss: boolean = false;
let alertPop = alert.dismiss();
alertPop
.then(() => {
let rootNav: NavController = this._appCtrl.getRootNav();
this._navCtrl.pop();
this._navCtrl.setRoot(DashboardPage); // Here we want to parameterize to target page - hardcoded for now
});
return dismiss;
}
}
]
});
if (this._applicationService.getOfferStatus() === OfferStatus.live) {
alert.present();
}
return result;
}
약속과 더불어 아마 나는 행운이있다. 설명대로 약속을 사용하도록 코드를 전환하고 다시 연락을 드리겠습니다. 팁 주셔서 감사합니다 :-) –
나는 약속을 사용하여 일하고 있어요. 당신의 예제는 이온 문서에 유용 할 것입니다. :-) –
이 답변은 동의 할만 큼 이오닉 문서에 도움이 될 것입니다! 감사. – LeeGee