Ionic NavController.pop() Обновить страницу назначения

У меня есть ionic приложение и я использую ionic место хранения. У меня есть две страницы, page1 а также page2, В page2.ts Я добавляю некоторую информацию в хранилище и затем звоню NavController.pop() вернуться в page1, В page1 Я хочу показать эту новую информацию, которая была добавлена ​​в хранилище.

Код выглядит так: PAGE2.TS

onSubmit() {
        let _actividad = new Actividad(this.event.nameActividad, this.event.timeStartsIntensidad, this.event.timeStartsDescanso, this.event.timeStartsCalentamiento, this.event.timeStartsRelajacion, this.event.numberIntervalos);
        this.strgCtrl.set(this.event.nameActividad, _actividad);
        console.log(_actividad.getNameActividad());
        this.navCtrl.pop();
    }

Слушай, я создал объект, и я храню его и вызов страницы1.

page1.html:

<ion-item *ngFor="let x of actividades"> 
            <button ion-item>
            <ion-thumbnail item-start>
                <img src="assets/imgs/abdominales.jpg">
            </ion-thumbnail>
            <h2>{{x.nameActividad_act}}</h2>
            <p>Intervalos: 10</p>
            <p>Intensidad: 10</p>
            </button>
            <button  ion-button class="disable-hover button button-md button-default button-default-md button-md-primary" item-end>Empezar</button>
        </ion-item>

PAGE1.TS

ionViewDidLoad() {
        this.strgCtrl.forEach( (value, key, index) => {
            this.actividades.push(value);
        })
    }

Ну, этот код делает то, что я хочу, если я сохраню новое действие и обновлю Page1, я смогу показать его. Но как я могу сделать это без обновления страницы1?

1 ответ

Решение

В файле page1 .ts:

goToPage2() {
var _that = this;
//callback
var callbackFunction = function (params) {
  return new Promise((resolve, reject) => {
    _that.strgCtrl.forEach( (value, key, index) => {
      _that.actividades.push(value);
    });
    resolve();
  });
}
// push page...
this.navController.push(page2, {
  callback: callbackFunction
});
}

В файле page2 .ts:

callback;
ionViewWillEnter() {
   this.callback = this.navParams.get("callback");
}
ionViewWillLeave() {
   this.callback();
}

или же:

onSubmit() {
    this.callback();
    this.navCtrl.pop();
}

Вы также можете передать некоторые параметры.

Другие вопросы по тегам