Currently there is no easy way to programmatically close a dialog from within the dialog component. Also it should be possible to a return a reason why the dialog was closed which may be different to the action buttons and the reason should be available when subscribing to the result stream Perhaps have a look at the ng-bootstrap dialog and implement something similar. See: https://ng-bootstrap.github.io/#/components/modal/api. If the content of the modal is a component, then nb-bootstrap can inject the dialog instance into the dialog component (using the NgbActiveModal class). The NgbActiveModal class can then be used to programmatically close / dismiss the modal from "inside" the component.