无法绑定到'对于'因为它不是已知的原生属性angular2

时间:2016-02-05 17:22:50

标签: angular

我必须动态创建一个复选框列表,所以我使用* 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

我的代码中有什么问题?

1 个答案:

答案 0 :(得分:24)

<强>更新

在Angular2中,最终[for]="xxx"应该可以正常工作。他们在forhtmlFor添加了别名。

<强>原始

默认情况下,Angular使用属性绑定,但label没有属性for。要明确告诉Angular使用属性绑定,请改为使用:

[attr.for]="someField"

attr.for="{{someField}}"

代替。

这些也有效,因为htmlFor属性for被反映到。

[htmlFor]="someField"
htmlFor="{{someField}}"

在Angular2 RC.6中添加了一个别名,所以现在这些别名也可以使用:

[for]="someField" 

for="{{someField}}" 
相关问题