Angular 7: как вызвать метод из компонента Entry в родительский компонент? - PullRequest
0 голосов
/ 06 апреля 2020

Вот мой модуль, и я использовал DragDropComponent в компонентах ввода, а мой родительский компонент использовал компонент ввода, например

родительский компонент:

upload(data) {
    const modalRef = this.model.open(DragNDropComponent, {
        data: data,
        panelClass: 'default-dialog'
    });
invokeMethodToRefreshTables(){

... // code to manipulate some datas after document loaded 
}

child:

uploadFiles() {
 ...uploaded stuf 
}

Модуль:

@NgModule({
imports: [
    CommonModule,
    FormsModule,
    MatButtonModule,
    MatIconModule,
    ClickOutsideModule,
    PipesModule,
],
entryComponents: [
    AlertComponent,
    ConfirmBoxComponent,
    DragDropComponent
],
declarations: [
    AlertComponent,
    ConfirmBoxComponent,
    DragDropComponent 
],
exports: []

})

все работает нормально, но мне нужно вызвать invokeMethodToRefreshTables (), как только я успешно загрузил файл, например, вызвал метод родительского компонента, как это сделать

1 Ответ

2 голосов
/ 06 апреля 2020

Вы можете подписаться на afterClosed наблюдаемое:

upload(data) {
    const modalRef = this.model.open(DragNDropComponent, {
        data: data,
        panelClass: 'default-dialog'
    });

    // when you close
    modalRef.afterClosed().subscribe(data => {
       // data = modal results - you can pass it from the dialog when you close it
       invokeMethodToRefreshTables();
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...