回到之前的状态

时间:2017-02-13 01:10:27

标签: ionic-framework ionic2

我正在尝试谷歌的各种解决方案,但所有这些解决方案似乎都适用于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
  }

}

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

1 个答案:

答案 0 :(得分:5)

我猜你的问题是你试图使用navController回到之前的状态,又称&#34;返回&#34;功能

离子导航的工作方式就像一个堆栈,新的页面将通过&#34; push&#34;推送到堆栈的顶部。 via页面将通过&#34; pop&#34;

从堆栈顶部删除

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

this.navCtrl.pop();

但在此之前请确保您已将上一页推送到navController,或者您已将setRoot推送到&#34; BookingConfirmationPage&#34;页。

您可能希望阅读:https://ionicframework.com/docs/v2/api/navigation/NavController/

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