ngx-bootstrap modal - 访问通过 bsModalRef.content 传入的数据

Gre*_*eg 6 bootstrap-modal ngx-bootstrap angular

我正在使用 angular 4 和 ngx-bootstrap 来打开模态。一切正常,我通过一个组件实现模态。我还可以通过将数据传递到模态content的性质bsModalRef。像这样:

this.bsModalRef = this.modalService.open(MyComponent);
this.bsModalRef.content.somedata = [...some array of products];
Run Code Online (Sandbox Code Playgroud)

这一切都很好,然后我的模态可以访问一个名为somedata. 极好的。我遇到的问题是我想对somedata. 假设somedata是一个带有数量的产品列表,我希望模态将数量减少到单个值。我如何知道该数据何时在模态类中可用?我可以使用setTimeouthack,它有效,但让我内心感到恶心。是否有某种类似实现的生命周期钩子ngOnChangesngx-bootstrap以便我可以知道何时设置数据属性,以及何时更改?

Vas*_*kin 5

您可以实现 setter 或方法

public set somedata(val) {
    // here you process data
}
Run Code Online (Sandbox Code Playgroud)

请记住, this.bsModalRef.content 包含对话框组件的所有公共成员(在您的情况下为 MyComponent)。