我正在尝试谷歌的各种解决方案,但所有这些解决方案似乎都适用于Ionic 1和其他版本的Ionic和Angular。
.HTML
<button class="edit" (click)="goBackToEnhancementPage();">Edit</button>
在按钮上单击我想转到历史记录中的上一个状态
打字稿
这是当前状态
export class BookingConfirmationPage {
//Some properties
constructor(public navCtrl: NavController, public navParams: NavParams ) {
//Some codes
}
goBackToEnhancementPage(){
canGoBack();
}
}
以前的状态
export class BookingEnhancementPage {
//Some code
constructor(public navCtrl: NavController, public navParams: NavParams, public loadingCtrl: LoadingController, private formBuilder: FormBuilder ) {
//This is previous state
}
}
这行不通。请告知我做错了什么?
我从你的问题中猜测你正在尝试使用 navController 回到你以前的状态,也就是"back"函数。
离子导航的工作方式就像一个堆栈,新页面将通过"推送"推送到堆栈顶部,通过页面将通过"pop"从堆栈顶部删除
要返回到以前的状态,您可以使用:
this.navCtrl.pop();
但在此之前,请确保您已将上一个页面推送到 navController 中,或者您已设置"预订确认页面"页面。
您可能想阅读以下内容: https://ionicframework.com/docs/v2/api/navigation/NavController/
如果您希望使用用户以前输入的数据填充您之前在 BookingEnhancementPage 中的详细信息,您可能需要结合使用 localstorage 和 onPageBeforeEnter/onPageWillEnter 来填充字段。