0
here의 설명서를 따르고 있습니다. 대화 상자에 데이터를 전달할 수 있지만 데이터를 가져 오지 못했습니다. .afterClose(). subscribe()에 대한 결과가 정의되지 않았습니다. 내가 무엇이 누락 되었습니까? 대화 템플리트에서해야 할 일이있는 것 같지만 위의 문서는 예제를 제공하지 않습니다. 나는() 우리가 MatDialogRef.close에 데이터를 전달할 수 있다는 것을 발견 한 후 나는 그것을 알아낼MatDialog에서 데이터를 가져 오는 방법은 무엇입니까?
import {Component, Inject, OnInit} from '@angular/core';
import {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material';
import {MySavior} from '../shared/my-savior';
import {Savior} from '../../savior/shared/savior';
import {SaviorDataService} from '../../savior/shared/savior-data.service';
@Component({
selector: 'app-my-room-savior-select-dialog',
template: 'my data name: {{data.name}}'
})
export class MySaviorSelectDialogComponent {
constructor(public dialogRef: MatDialogRef<MySaviorSelectDialogComponent>,
@Inject(MAT_DIALOG_DATA) public data: any) {}
onClose(): void {
this.dialogRef.close();
}
}
@Component({
selector: 'app-my-room-my-savior',
templateUrl: './my-savior.component.html',
styleUrls: ['./my-savior.component.css']
})
export class MySaviorComponent implements OnInit {
saviors: Savior[] = [];
mySaviors: MySavior[] = [];
constructor(private saviorDataServ: SaviorDataService, public dialog: MatDialog) {}
ngOnInit() {
...
}
openSelectDialog(): void {
const dialogRef = this.dialog.open(MySaviorSelectDialogComponent, {data: {name: 'test'}});
dialogRef.afterClosed().subscribe(result => {
console.log('result ' + result); //i got result undefined
});
}
}