你好!
我有几个与ngFor中的ngModel绑定的复选框,但是如果我的标记包含在 <form>
标签中,则UI意外地工作 . 例如 [checked]="team.original
“和 [disabled]="!group.internal"
不能正常工作 .
https://plnkr.co/edit/yxngdinXlHD1G9ITeGLT?p=preview
谢谢!
Edit:
例如,你看到[checked] =“team.original”和[disabled] =“!group.internal”它们根据它的值不起作用 . 同样对于'原始'列我打印实际值 - 'false'但检查chackbox .
1 回答
在表单中,名称必须是唯一的 . 所以现在在你的表单中,它并没有被评估为两个不同的团队,因为name属性是相同的 . 这里通常使用索引来区分迭代中的名称,因此:
和
name
属性您还有一个问题,因为
teams
分为两个不同的组,每个团队在其单独的数组中都有索引0 . 因此,如果使用上述内容,您最终会得到相同的name
属性 .read{{i}}
最终会read0
仍然无法解决您的问题,因为它将被评估为同一个表单名称 . 因此,您需要使用TWO索引,包括顶级迭代和嵌套迭代:和
并标记您的
name
属性:现在,表单中的所有项目都具有唯一的名称,因此表单值的结果如下所示:
这就是表单的工作方式 . 所有名称必须是唯一的 .
这是你的分叉Plunker