ngx-bootstrap modal: How to get a return value from a modal?

前端 未结 9 1508
一向
一向 2020-12-13 02:23

In my Angular 4 app, let\'s assume that I\'m inside a service.

At some point, I want to ask the user for a confirmation, currently I\'m doing it with just a co

9条回答
  •  旧巷少年郎
    2020-12-13 03:19

    Try like this :

    myexample it's working correctly. hope this will help you

    home.module.ts

    import { ModalModule } from 'ngx-bootstrap';
    
    @NgModule({
        imports: [
            ModalModule.forRoot()
        ]
    })
    

    home.component.html

    
    

    home.component.ts

    import { BsModalService } from 'ngx-bootstrap/modal';
    import { BsModalRef } from 'ngx-bootstrap/modal/modal-options.class';
    
    export class HomeComponent {
        public modalRef: BsModalRef;
        constructor(
            private homeService: HomeService,
            private modalService: BsModalService
        ) { }
    
        openConfirmDialog() {
            this.modalRef = this.modalService.show(HomeModalComponent);
            this.modalRef.content.onClose.subscribe(result => {
                console.log('results', result);
            })
        }
    }
    

    home-modal.component.html

    home-modal.component.ts

    import { Subject } from 'rxjs/Subject';
    import { BsModalRef } from 'ngx-bootstrap/modal';
    
    export class HomeModalComponent {
        public onClose: Subject;
    
        constructor(private _bsModalRef: BsModalRef) { }
    
        public ngOnInit(): void {
            this.onClose = new Subject();
        }
    
        public onConfirm(): void {
            this.onClose.next(true);
            this._bsModalRef.hide();
        }
    
        public onCancel(): void {
            this.onClose.next(false);
            this._bsModalRef.hide();
        }
    }
    

提交回复
热议问题