Я Java Скрипт парня и обучающегося типа Но я столкнулся с такой ситуацией ... !!
У меня есть класс типа
export class Human{
public name: string;
public surname: string;
public status:ApprovalStatus(Its an Enum);
constructor( human: Human) {
Object.assign(this, human);
}
У меня диалог Angular Материал, в который я передаю this Object Human со значениями, заполненными, например, как name = 'AB C' и surname = 'PQR' и status = ApprovalStatus.NOT_APPROVED
Диалог материалов Angular это отдельный компонент, где конструктор похож на
openDialog() {
const dialogRef = this.dialog.open(DialogComponent,{
data:{human:this.human},
disableClose: true });
dialogRef.afterClosed().subscribe(result => {
console.log(result)
});
}
, так вызывается диалог, и я получаю данные обратно .. !!
constructor(@Inject(MAT_DIALOG_DATA) public human: any,private dialogRef: MatDialogRef<DialogComponent>) {}
Итак, я получу данные в человек , и теперь я хочу отправить обратно данные, изменив объект, человек хотел бы установить другой статус от ApprovalStatus.NOT_APPROVED до ApprovalStatus.APPROVED
так что в основном то, что я делаю, это
public confirm() {
let humanData=<Human>this.human;
human.status=ApprovalStatus.APPROVED;
this.dialogRef.close({ data: humanData}) // send data to parent component
}
Итак, по другому компоненту я получаю две вещи по отдельности: один - это статус , а другой - человеческий объект , который не изменяется в статус УТВЕРЖДЕН даже в подтверждении ( ) метод, укажите, как с этим бороться?