Hier sind die Objekte. Das TypeModel-Objekt und das StatusModel-Objekt haben eine Eigenschaft typeID
, die eine Nummer (beispielsweise 1) sein muss.Das Ändern einer Objekteigenschaft in einem Array von Objekten ändert alle Objekteigenschaften (TypeScript)
export class TypeModel{
typeID: number;
typeDescription: string;
}
export class StatusModel{
typeId: number;
statusId: number;
typeStatusDescr: string;
}
export class TypeStatusesModel{
type: TypeModel;
status: StatusModel;
}
let typeStatuses: TypeStatusesModel[] = [];
let typeStatusFirst: TypeStatusesModel= new TypeStatusesModel();
typeStatusFirst = {
type: {
typeID:1,
typeDescription: "Description Type 1"
},
status: {
typeId: 1,
statusId: 1,
typeStatusDescr: "Description Status 1"
}
}
typeStatuses.push(typeStatusFirst);
let typeStatusSecond: TypeStatusesModel= new TypeStatusesModel();
typeStatusSecond= {
type: {
typeID:2,
typeDescription: "Description Type 2"
},
status: {
typeId: 1;
statusId: 2;
typeStatusDescr: "Description Status 2";
}
}
typeStatuses.push(typeStatusSecond);
Das Problem ist, wenn ich versuche, typeID
des zweiten Objekts in typeStatuses Array die Eigenschaft zu ändern 2
nummerieren, die die gleiche Eigenschaft (typeID
) in meinem ersten Objekt ändern. Ich versuche, ein temporäres Objekt zu erstellen und das "defekte" zu ersetzen, aber nichts. (let tempObject = Object.create(typeStatuses[1])
)
Das ist ziemlich unwahrscheinlich. Können Sie uns den Code zeigen, den Sie verwenden, um die Eigenschaft zu ändern? Außerdem erstellen Sie eine Klasse und erstellen dann nur ein anonymes Objekt. Statt einer Klasse möchten Sie wahrscheinlich stattdessen eine Schnittstelle verwenden. – Rob
Sie haben ein falsches Semikolon in diesem Code. Typ 1; ... sollte Typ sein: 1, ... – kimy82