【发布时间】:2016-08-24 05:21:36
【问题描述】:
该应用程序是一个简单的锻炼输入工具。它对 CRUD 操作进行基本的 API 调用。 App Display
在创建新条目并将其存储到数据库后,我无法重新加载锻炼选项卡。我能够操纵 NavController 为其设置 root 以显示更新的数据,但它仅位于 Add Workout 选项卡下。 Workouts updated in Add Workout tab 当我返回“锻炼”选项卡时。它将结果显示为附加的第一张图像。
我认为这是因为构造函数和 NgOnInit 只初始化了一次。我该如何解决这个问题?
这是锻炼标签的代码。
export class WorkoutPage {
navCtrl;
workoutService;
workouts;
static get parameters() {
return [NavController, WorkoutService];
}
constructor(navCtrl, workoutService) {
this.navCtrl = navCtrl;
this.workoutService = workoutService;
this.workoutService.getWorkouts().subscribe(workouts => {
this.workouts = workouts;
})
}
ngOnInit() {
this.workoutService.getWorkouts().subscribe(workouts => {
this.workouts = workouts;
})
}
workoutSelected(event, workout) {
this.navCtrl.push(WorkoutdetailPage, {
workout: workout
})
}
}
这是我在将新条目添加到数据库后执行 setRoot 的方式。
onSubmit() {
var workout = {
title: this.title,
note: this.note,
type: this.type
}
this.workoutService.addWorkout(workout)
.subscribe(data => {
this.result = data;
}, err => console.log(err),
() => console.log("Workout added"));
this.navCtrl.setRoot(WorkoutPage);
}
我真的需要一种方法来刷新“锻炼”页面上的数据。非常感谢您的帮助。
【问题讨论】:
标签: angular typescript ionic2