【发布时间】:2021-12-07 19:26:49
【问题描述】:
我正在获取Workouts 的数组,并希望将其转换为RoutineWorkouts 的数组,该数组具有Workouts 以及"sets" 和"reps" 的所有属性。然后我想将此数组显示为this page 上的列表,我可以在其中使用ion-select 分配代表和组。
create-routine.page.ts
workoutR: any[];
routineWorkouts: RoutineWorkout[] = [];
sets = [2, 3, 4];
reps = [4, 6, 8, 10, 12, 16, 20];
ionViewWillEnter(): void{
this._subscription = this.workoutService.getMessage().subscribe((bWorkout:Workout[]) => {
this._receivedWorkouts = bWorkout;
});
console.log(this._receivedWorkouts);
this.workoutR = this._receivedWorkouts;
}
要在页面上显示它,我有*ngFor="let workout of workoutR"。
锻炼和日常锻炼模型
export class Workout {
id: number;
name: string;
muscle: string;
}
export class RoutineWorkout {
id: number;
name: string;
sets: number;
reps: number;
}
我试过this, but keep getting this error.
如何将我创建的数组的值分配为新的RoutineWorkouts,以便我可以分配代表和集合?
【问题讨论】:
-
RoutineWorkouts具有锻炼的所有属性以及"sets"和"reps"。这是不正确的RoutineWorkout不包含muscle这是Workout的一部分。 -
this._receivedWorkouts = bWorkout;这是不可能的。您正在尝试将一个变量分配给另一个具有不同接口的变量。这可以在了解需求后通过一些工作来完成。 -
那么您认为这将如何发生?是不是要从
Workout中取出id和name并将sets和reps设置为0? -
是的,我想从现有的
Workouts数组中创建一个新数组RoutineWorkouts和id和name的Workout。在我分配之前,sets和reps将是0。
标签: arrays angular typescript object ionic-framework