我有一个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的情况下执行此操作?
答案 0 :(得分:0)
在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();
}
你也可以传递一些参数。