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();
}
Вы также можете передать некоторые параметры.