Я использую MatDialog
угловой материал для всплывающих окон в моем приложении.Здесь я создал родительский всплывающий компонент ParentComponent
, где я передаю ChildComponent
в качестве параметра и получаю доступ к этому дочернему компоненту в конструкторе родительского компонента.Однако тип этого параметра: typeof
.Я хочу получить доступ к членам, например: TestFunction
внутри дочернего компонента в родительский компонент, используя этот экземпляр typeof
.
В основном, у меня есть метод закрытия всплывающего окна, который должен вызвать TestFunction()
дочернего компонента кнопки сохранения, Вот код:
Передача дочернего компонента в качестве параметра родительскому компоненту:
constructor(private _dialog: MatDialog){}
let dialogRef = this._dialog.open(ParentComponent, {
data: { component: ChildComponent }
});
ChildComponent:
TestFunction(){ console.log('test message')}
Доступ к родительскому компоненту:
constructor(public dialogRef: MatDialogRef<ParentComponent>,
@Inject(MAT_DIALOG_DATA) public data: any) { }
ngOnInit() {
console.log('data in component: ',this.data.prototype);
this.data.TestFunction();
}
Внутри консоли дочернего компонента я получаю:
data in component:
{component: ƒ}
component: class ChildComponent
ctorParameters: () => {…}
arguments: (...)
caller: (...)
length: 3
Но я хочу TestFunction ().