Ara*_*ash 4 ngx-bootstrap angular ngx-bootstrap-modal
我正在使用组件作为模板打开一个模态,一切正常,模态打开并且我正在订阅 onHide 事件,订阅也有效。
但我在这里有一个挑战,我想发送一个具体的原因,例如:“消息添加成功”作为原因。我怎样才能做到这一点?如何发送特定字符串作为原因?
目前,我正在尝试在 MessageAddComponent 组件中设置一个值并使用 bsModalRef.Content 在父组件中访问它,但这不是一个好主意。
newMessage() {
this.bsModalRef = this.modalService.show(MessageAddComponent, {
class: 'modal-lg'
});
this.subscriptions.push(this.modalService.onHide.subscribe((reason: string) => {
// i dont like this approach
if (this.bsModalRef.content.anySuccessfulAction) {
console.log('foo and bar')
}
this.unsubscribe();
}));
}
Run Code Online (Sandbox Code Playgroud)
终于找到解决办法:
在用作模态的组件中注入 BsModalService 然后将关闭原因设置为波纹管
this.modalService.setDismissReason(theReason);
Run Code Online (Sandbox Code Playgroud)
为了简化您的订阅,您可以通过.take()或first()运算符创建“一次性”订阅:
this.modalService.onHide
.pipe(take(1))
.subscribe(() => {
console.log(this.bsModalRef.content)
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7508 次 |
| 最近记录: |