我正在使用角度4和ngx-bootstrap来打开模态.一切都运行良好,我通过组件实现模态.我也可以通过bsModalRef的content属性将数据传递给模态.像这样:
this.bsModalRef = this.modalService.open(MyComponent); this.bsModalRef.content.somedata = [...some array of products];
这一切都很好,然后我的模态可以访问名为somedata的属性.太棒了.我遇到的问题是我想对somedata执行一些计算.假设somedata是具有金额的产品列表,我希望模态将金额减少到单个值.我如何知道模态类中何时可以获得该数据?我可以使用setTimeout hack,它可以工作,但让我觉得内心很蠢.有什么样的生命周期钩子像ngOnChanges那样ngx-bootstrap实现了所以我可以知道数据属性何时被设置,进一步,当它改变时?
解决方法
您可以实现setter或方法
public set somedata(val) { // here you process data }
请记住,this.bsModalRef.content包含对话框组件的所有公共成员(在您的情况下为MyComponent).