Вызов пользовательской функции при нажатии кнопки возврата ionic 2 RC.1

#ionic2

#ionic2

Вопрос:

Как я могу вызвать функцию при нажатии кнопки возврата в Ionic 2 с определенной страницы?

У меня в голове следующий сценарий. Допустим, я перемещаюсь, как показано ниже:

 PageA --> PageB --> PageC --> PageD
  

Теперь, когда я нажимаю кнопку «Назад» на PageD , я хочу вернуться к PageB вместо PageC . Я хочу вызвать приведенную ниже функцию при нажатии кнопки возврата.

 goBack(){
    this.navCtrl.popTo(PageB);
}
  

Я сделал это следующим образом:

 ionViewDidEnter(){
    this.bindMethodToElement('back-button',this.goBack);
}

bindMethodToElement(elementClassName,functionToBind){
    try{
      let elements = document.getElementsByClassName(elementClassName);
      let currentElement : Element = elements[elements.length - 1];
      currentElement.addEventListener("click",functionToBind);
    }catch(exception){
      console.log(exception.message);
      throw exception;
    }
  }
  

Кто-нибудь знает лучший подход для этого. Я также хочу добиться аналогичного поведения, когда пользователь нажимает на кнопку возврата устройства.

Ответ №1:

О такой функции уже сообщалось команде Ionic, и они проверяют ее. Тем временем вы можете использовать этот обходной путь:

 goBack(){
  this.navCtrl.pop().then(() => {this.navCtrl.pop()});
}
  

Уродливое решение, но работает. Удачи!