我正在獲取一個陣列,Workouts并希望將其轉換為一個陣列,RoutineWorkouts該陣列具有Workouts以及"sets"和 的所有屬性"reps"。然后我想在這個頁面上將此陣列顯示為一個串列,在那里我將能夠使用ion-select.
創建-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;
}
我試過這個,但一直收到這個錯誤。
我將如何分配我作為新創建的陣列的值,RoutineWorkouts以便我可以分配代表和集合?
uj5u.com熱心網友回復:
您不能將一種型別(介面)的變數分配給另一種型別。相反,您可以創建一個具有相同型別的新變數并將它們分配回所需的變數。
這this.routineWorkouts是介面RoutineWorkout[]和this._receivedWorkouts型別Workout[]
偽代碼
const newReceivedWorkouts: RoutineWorkout[] = this._receivedWorkouts.map(({id, name}) => ({ id, name, sets: 0, reps: 0}))
this.routineWorkouts = newReceivedWorkouts;
這里this.routineWorkouts和newReceivedWorkouts是相同的型別,因此它們是可分配的。
希望這對你有用。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/328703.html
上一篇:使用注解的Java類驗證
下一篇:迭代物件時鍵入鍵
