Javascript 角度2:can';不能让动态表单组工作

Javascript 角度2:can';不能让动态表单组工作,javascript,forms,typescript,angular,Javascript,Forms,Typescript,Angular,我正在玩Angular 2(rc4),但我遇到了一个小问题 我有一个用FormBuilder构建的表单,效果很好 因为Plunker似乎使用了角度RC0,所以您可以得到一个错误示例。它基于角度快速启动,因此只需执行以下操作: npm i npm start FormComponent接受要编辑的人的输入。此输入由FormComponent的父级动态提供。当我点击一个人时,FormComponent通过ngochanges()设置一个新表单。为什么OnChanges?因为FormComponen

我正在玩Angular 2(rc4),但我遇到了一个小问题

我有一个用
FormBuilder
构建的表单,效果很好

因为Plunker似乎使用了角度RC0,所以您可以得到一个错误示例。它基于角度快速启动,因此只需执行以下操作:

npm i
npm start
FormComponent
接受要编辑的人的输入。此输入由
FormComponent
的父级动态提供。当我点击一个人时,
FormComponent
通过
ngochanges()
设置一个新表单。为什么
OnChanges
?因为
FormComponent
已更新,不会重新呈现

那么问题是什么? 如果我切换到另一个人,则在我的
FormComponent
中所做的更改不会被angular的表单跟踪

如何繁殖 预期行为:

  • 编辑姓名而不切换到其他人
  • 提交表格
  • myForm.value
    包含新名称-如预期的那样
问题:

  • 通过
    App
    选择另一个人,
    FormComponent
    已正确更新
  • 编辑名称
  • 提交
  • myForm.value
    包含旧名称。我不能更新它
我做错了什么


谢谢。

我刚刚尝试了一种解决方法,使用
removeControl
addControl
,但结果是相同的(在
myForm.controls
上循环更改,并使用这两个函数更新
myForm
,而不是再次对其执行实例)。如果使用Plunker中的
新建>
按钮,您将获得最新Angular2版本的模板。您还可以将其用作起点。