我必须动态创建一个复选框列表,所以我使用* ngFor来迭代对象数组,一切正常,直到迭代。当我在label标签中设置for
属性的值时,会出现问题。 angular已抛出错误:
无法绑定到'对于'因为它不是已知的原生属性angular2
新错误消息
未处理的承诺拒绝:模板解析错误:无法绑定到'对于'因为它不是“标签”的已知属性。
<div *ngFor="#batch of batch_array">
<label for="{{batch.id}}"><input type="checkbox" [value]="batch.id" id="{{batch.id}}"
(click)="batchSelectedEevent(batch.id)" /> {{batch.batch_name}}
</label>
</div>
这是我的plnkr显示错误:http://plnkr.co/edit/aAQfWvHc7h7IBuYzpItO?p=preview
我的代码中有什么问题?
答案 0 :(得分:24)
<强>更新强>
在Angular2中,最终[for]="xxx"
应该可以正常工作。他们在for
到htmlFor
添加了别名。
<强>原始强>
默认情况下,Angular使用属性绑定,但label
没有属性for
。要明确告诉Angular使用属性绑定,请改为使用:
[attr.for]="someField"
或
attr.for="{{someField}}"
代替。
这些也有效,因为htmlFor
属性for
被反映到。
[htmlFor]="someField"
htmlFor="{{someField}}"
在Angular2 RC.6中添加了一个别名,所以现在这些别名也可以使用:
[for]="someField"
或
for="{{someField}}"