Есть ли способ скрыть BsModal, не разрушая модальный компонент? Чего я хотел бы добиться, так это то, что, как только модальное изображение показывается в первый раз, MyComponent не воссоздает каждый раз, когда скрывается / отображается снова. Как только он будет собран, первый раз - это просто показать пользователю или нет, а не перестраивать весь компонент.
Мне это нужно, потому что я хотел бы предоставить услугу в провайдерах MyComponent, и я ожидаю того же экземпляра этой службы, если я закрою и снова открою модальное.
У меня есть компонент:
@Component({
selector: 'my-component',
template: '<p>Hi from my component</p>'
})
export class MyComponent implements OnInit {
ngOnInit(): void {
console.log('want to show this message only once');
}
}
Я использую модальный ngx-bootstrap, чтобы показать этот компонент
export class AnotherComponent() {
private modalRef: BsModalRef;
constructor(private modalService: BsModalService) {}
showModal(): void {
this.modalService.show(MyComponent);
}
hideModal(): void {
this.modalRef.hide();
}
}
Я бы хотел, чтобы ngOnInit () выполнялся только при первом открытии модального окна.