过去在使用模式时,我遇到过一种模式,它返回一个 ModalRef 对象,该对象上有一个承诺,当模式关闭或解除时,该对象被解决或拒绝。
查看 Ngx-Bootstrap 中 BsModalRef 的文档,似乎没有任何方法可以跟踪该模态引用是否已关闭或关闭。
相反,他们似乎建议订阅onHidden()
BsModalService 上的事件。不幸的是,这对我不起作用,因为它会在隐藏任何模式时触发事件。我只想对隐藏的特定模态实例做出反应。
我有什么办法可以做到这一点吗?
我考虑过使用 Rxjs 的take()
操作符仅在订阅onHidden
Observable 后触发第一个事件,但这感觉有点 hacky。
const modalRef = modalService.show(RedirectToHomeModalComponent);
const returnHome = () => console.log('Returning home');
this.bsModalService.onHidden.pipe(take(1), returnHome);