如何在模态组件内部初始化反应形式值?

时间:2018-06-21 16:29:56

标签: angular ng-bootstrap

请参阅示例:http://plnkr.co/edit/97nXCbQ5quCg7hVRjMvk?p=info

正如您在app.ts中的showModal()中所见,我正在使用DialogComponent打开一个模态实例,然后调用modalRef.componentInstance.myModel = { name: 'Hello!' };,我希望它会触发{{ ngOnChanges()中的1}}函数,然后应设置表单值,该表单值应显示“ Hello!”的新值。在“名称表单”字段中。

但是,看来src/dialog-component.ts根本没有被触发,所以这永远不会发生。

我在这里出了什么问题?我希望能够打开模式,并使用从ngOnChanges()数据模型获取的值对其进行预填充。

谢谢!

1 个答案:

答案 0 :(得分:2)

这是因为您的值在InInit上已更改

所以,如果您这样做

 ngOnInit(){
     if(this.myModel){
        this.rebuildForm();

     }
    }

在对话框组件中,您应该能够实现所尝试的功能。

http://plnkr.co/edit/I3bE04IVrVby1I77GnIX?p=preview