Я разработал три разных компонента из модального окна ngx-bootstrap. 1. Модальный 2. Модальный iFrame 3. Модальный Alertbox
Я просто передаю шаблон в эти компоненты, и они отображают его.
Но проблема возникает, когда я использую любые два в одном шаблоне. Которые имеют один и тот же экземпляр. Поэтому, когда я скрываю один модальный режим, срабатывает и другой скрытый модальный вывод.
Я думаю, это связано с тем же использованием службы BsModalService. Итак, любое решение для этого?
<app-new-modal (hidden) = "onModalHidden()">
<div heading>Heading</div>
</app-new-modal>
<app-iframe-modal #iframe (hidden) = "onIframeHidden()">
<div heading>Heading</div>
</app-iframe-modal>
@Outlooker Пожалуйста, следуйте этому Stackblitz связь .... проверьте консоль при закрытии любых двух методов.
Попробуйте создать экземпляр службы, соответствующей этому конкретному компоненту. Поскольку вы подписываетесь на модальное закрытие и генерируете событие, кажется, что это вызывает все сценарии, независимо от этого конкретного компонента. Надеюсь это поможет :)
@Component({
selector: 'app-modal',
templateUrl: './modal.component.html',
styleUrls: ['./modal.component.css'],
providers: [BsModalService]
})
---------------------------------------------------------
@Component({
selector: 'app-alertbox',
templateUrl: './alertbox.component.html',
styleUrls: ['./alertbox.component.css'],
providers: [BsModalService]
})
Но у меня есть общие модули для утилит... таким образом я должен объявить два модуля. Возможно ли это с помощью единого модуля?
@AshishSharma Не совсем уверен, что означают 2 модуля в вашем случае.
Я не правильно прочитал, что вы написали w.r.t. to Component Это решило проблему. Спасибо
Не могли бы вы поделиться своим кодом ts? или было бы здорово, если бы вы могли предоставить демонстрацию, используя stackblitz.com