我有一个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();
}
heare,我创建了一个对象,然后将其存储给Page1。
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,我可以显示。但是,我该如何做到这一点而不刷新Page1?
in 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
});
}
在第2页.ts文件中:
callback;
ionViewWillEnter() {
this.callback = this.navParams.get("callback");
}
ionViewWillLeave() {
this.callback();
}
或:
onSubmit() {
this.callback();
this.navCtrl.pop();
}
您也可以传递一些参数。