Я использую Angular 2, я работаю с модальной формой, у меня есть два компонента, из одного компонента я открываю модальную форму следующим образом:
import { Component, OnInit, Output} from '@angular/core';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { MyFormComponent } from '......./....';
@Component({
moduleId: module.id,
selector: 'my-component',
templateUrl: 'my-component.html'
})
export class MyComponent implements OnInit {
private anyData: any;
private anyDataForm: any;
constructor(
private modalService: NgbModal
) { }
ngOnInit(): void {
}
open() {
const modalRef = this.modalService.open(MyFormComponent, { size: 'lg' });
modalRef.componentInstance.anyDataForm = this.anyData;
}
possibleOnCloseEvet() {
//Do some actions....
}
}
Метод open () запускается с помощью кнопки на my-component.html.
И в компоненте формы (модальном) я использую это для закрытия фактического модального (от самого себя)
import { Component, OnInit, OnDestroy, Input } from '@angular/core';
import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';
@Component({
moduleId: module.id,
selector: 'my-form-component',
templateUrl: 'my-form-component.html'
})
export class MyFormComponent implements OnInit, OnDestroy {
@Input() anyDataForm: any;
constructor(
public activeModal: NgbActiveModal
) {
}
ngOnInit(): void {
}
//Some form code...
OnSubmit() {
this.activeModal.close(); //It closes successfully
}
ngOnDestroy(): void {
}
}
Что мне нужно сделать, так это запустить какое-то событие «при закрытии» в компоненте вызывающей стороны, чтобы выполнить некоторые действия в вызывающей стороне только тогда, когда модальное окно закрыто. (не может использовать эмитент событий)
Есть ли способ для средства открытия компонентов узнать, когда модальное закрытие? Я не нашел наглядного примера этого.