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。
我有一个来自 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。