Ionic NavController.pop() 刷新目标页面
Ionic NavController.pop() refesh destination page
我有一个 ionic
应用程序,我使用 ionic
存储。我有两个页面,page1
和 page2
。在 page2.ts
中,我将一些信息添加到存储中,然后调用 NavController.pop()
到 return 到 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();
}
嘿,我创建了一个对象并存储它和对 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);
})
}
好吧,这段代码可以满足我的要求,如果我存储一个新的 activity 并刷新第 1 页,我就可以显示它。但是,如果不刷新 page1 怎么办呢?
第 1 页 .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();
}
你也可以传递一些参数。
我有一个 ionic
应用程序,我使用 ionic
存储。我有两个页面,page1
和 page2
。在 page2.ts
中,我将一些信息添加到存储中,然后调用 NavController.pop()
到 return 到 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();
}
嘿,我创建了一个对象并存储它和对 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);
})
}
好吧,这段代码可以满足我的要求,如果我存储一个新的 activity 并刷新第 1 页,我就可以显示它。但是,如果不刷新 page1 怎么办呢?
第 1 页 .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();
}
你也可以传递一些参数。