17
我必须创建一个复选框列表动态,所以我用* ngFor迭代对象数组一切正常工作,直到迭代。当我在标签标签中设置for
属性的值时,问题就出现了。角有抛出错误:无法绑定到'for',因为它不是已知的本地属性angular2
不能结合“为”,因为它不是一个已知的原生属性angular2
新的错误消息
未处理的承诺拒绝:模板解析错误:无法绑定到'for',因为它不是'label'的已知属性。
<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
什么是错在我的代码?
哇它工作很好,谢谢!我可以知道为什么要在'attr.for'中使用'attr'而不是简单地'for'? –
对于'attr.for',你必须明确地选择属性绑定,因为属性绑定是昂贵的。属性反映在DOM中,并且需要进行更改以检查是否注册了与此属性集相匹配的CSS选择器。属性绑定只是JS而且便宜,因此是默认值。 –
“属性绑定仅JS”。我不会那么说。有一些属性没有相应的属性 - 例如大量使用的textContent属性 - 所以绑定到这些属性也会导致DOM被更新。 –