如何初始化模态组件内的反应式表单值?

How to initialize reactive form values inside of a modal component?

查看示例代码:http://plnkr.co/edit/97nXCbQ5quCg7hVRjMvk?p=info

正如您在 showModal() 中的 app.ts 中看到的那样,我正在使用我的 DialogComponent 打开模态实例,然后调用 modalRef.componentInstance.myModel = { name: 'Hello!' };,我希望它会触发src/dialog-component.ts 中的 ngOnChanges() 函数应该设置表单值,它应该在名称表单字段中显示 "Hello!" 的新值。

但是,看起来 ngOnChanges() 根本没有被触发,所以这从未发生过。

我在这里弄错了什么?我希望能够打开模式并使用从 myModel 数据模型中获取的值预先填充它。

提前致谢!

这是因为你的值在InInit

所以如果你这样做

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

     }
    }

在你的对话组件中你应该能够实现你正在尝试的。

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