回到之前的状态

Dev*_*ily -1 ionic-framework ionic2

我正在尝试谷歌的各种解决方案,但所有这些解决方案似乎都适用于Ionic 1和其他版本的Ionic和Angular.

HTML

<button class="edit" (click)="goBackToEnhancementPage();">Edit</button>
Run Code Online (Sandbox Code Playgroud)

在按钮上单击我想转到历史记录中的上一个状态

打字稿

这是目前的状态

 export class BookingConfirmationPage {

      //Some properties

      constructor(public navCtrl: NavController, public navParams: NavParams ) {
        //Some codes
      }

      goBackToEnhancementPage(){
        canGoBack();
      }

    }
Run Code Online (Sandbox Code Playgroud)

以前的国家

export class BookingEnhancementPage {

  //Some code 

  constructor(public navCtrl: NavController, public navParams: NavParams, public loadingCtrl: LoadingController, private formBuilder: FormBuilder ) {
    //This is previous state
  }

}
Run Code Online (Sandbox Code Playgroud)

这不起作用.请告诉我我做错了什么?

Gen*_*ene 5

我猜你的问题是你试图使用navController回到你以前的状态,也就是"后退"功能.

离子导航的工作方式就像一个堆栈,新页面将被推送到堆栈顶部通过"推"通过页面将通过"pop"从堆栈顶部删除

要回到以前的状态,您可以使用:

this.navCtrl.pop();
Run Code Online (Sandbox Code Playgroud)

但在此之前,请确保您已将上一页推送到navController,或者您已将setRoot推送到"BookingConfirmationPage"页面.

您可能需要阅读:https:0000-00-00的方法:https : //ionicframework.com/docs/v2/api/navigation/NavController/

如果您希望使用用户先前输入的数据填充BookingEnhancementPage中的先前详细信息,则可能需要使用localstorage和onPageBeforeEnter/onPageWillEnter的组合来填充字段.