Winkel 2 NgbModal NgbActiveModal close-Ereignis modal

Ich bin mit Winkel 2, ich arbeite mit einem Formular modal ist, ich habe zwei Komponenten, aus einer Komponente I öffnen Sie das Formular modal ist, wird dieser Weg:

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....
    }

}

Die open () - Methode löst eine Schaltfläche auf my-component.html

Und auf die Form-Komponente (modal -) ich verwende dies für die in der Nähe der tatsächlichen modal (aus sich selbst)

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 {
    }

}

Was ich tun müssen, ist Feuer eine Art von "close" - event auf der Anrufer-Komponente zum ausführen von einigen Aktionen in der Anrufer nur, wenn das modal geschlossen ist. (kann nicht mithilfe von Ereignis-emmiter)

Gibt es eine Möglichkeit, die für die Komponente opener zu wissen, wenn das modal in der Nähe? Ich habe nicht gefunden, ein klares Beispiel dafür.

InformationsquelleAutor Dany G | 2017-06-16

Schreibe einen Kommentar