import { Component } from '@angular/core'; import { BsModalService } from 'ngx-bootstrap/modal'; import { BsModalRef } from 'ngx-bootstrap/modal/bs-modal-ref.service'; @Component({ selector: 'demo-modal-service-component', templateUrl: './service-component.html' }) export class DemoModalServiceFromComponent { bsModalRef: BsModalRef; constructor(private modalService: BsModalService) {} openModalWithComponent() { const list = [ 'Open a modal with component', 'Pass your data', 'Do something else', '...' ]; this.bsModalRef = this.modalService.show(ModalContentComponent); this.bsModalRef.content.title = 'Modal with component'; this.bsModalRef.content.list = list; setTimeout(() => { list.push('PROFIT!!!'); }, 2000); } } /* This is a component which we pass in modal*/ @Component({ selector: 'modal-content', template: ` ` }) export class ModalContentComponent { title: string; list: any[] = []; constructor(public bsModalRef: BsModalRef) {} }