我正在尝试从组件中打开模式,并且我在调用show方法以响应另一个订阅(如果在订阅之外调用它可以正常工作)。但是从订阅开始,传递到内容的数据不会被刷新。下面是代码示例。
//Subscription
$subject.subscribe(res => {
const bs_modal = this._bsModalService.show(ComponentA);
bs_modal.content.data = res;
this._bsModalService.onHide.subscribe(() => {
console.log(bs_modal.content.res_data));
})
})
// Modal Component
@Component({
selector: 'app-modal',
template: `
<div>{{data | json}}<div>
<button (click)="hideModal()">Hide Me</button>
`,
})
class ComponentA {
data: any;
res_data: any;
constructor(_bsModalRef: BsModalRef) {}
hideModal() {
this.res_data = 'Testing';
this._bsModalRef.hide();
}
}
模态打开时data
为空,每当我关闭模态时res_data
也未定义
答案 0 :(得分:1)
我已经通过堆栈闪电重新创建了您的代码,并且在进行了一些调整之后,我能够将数据传递给模式:https://stackblitz.com/edit/angular-37iw9w
确保这些事情:
根据您给出的代码示例,这是假定条件,它们属于一个模块。