ngx-bootstrap - 隐藏事件未触发

ngx-bootrap - On Hide event not firing

我有一个来自 ngx-bootstrap 的模式,关闭时我想在我的 angular 组件中触发一个函数。但无论我如何尝试捕捉事件我都无法。

我想触发的事件很直接 - 我现在只想在控制台中看到它:

// Reset the user data
clearUserData() {
  console.log('Data Cleared');
}

方法一 - 直接使用模态模板:

<ng-template #template bsModal (onHide)="clearUserData()">
...
</ng-template>

结果:没有任何反应 - 所以控制台日志并且没有错误消息

方法二:使用模态服务:

// Open Progress Modal
buyNow(template: TemplateRef<any>) {
  // Open the model
  this.modalRef = this.modalService.show(template);
  this.modalRef.content.onClose.subscribe(result => {
    console.log('results', result);
  });
}

结果:这在控制台中给我一条错误消息: TypeError: 无法读取 null 的属性(读取 'onClose')

我遇到了这个 Whosebug 答案。接受的答案和 Bartando 的答案也是如此。所以我的想法是使用 modalService 并且他们已经放了一个 dismiss reason 属性 然后在里面你可以调用你的 clearUserData()

事情就是这样

this.modalService.setDismissReason(theReason);

我也在分享参考 link。