HTML输入的命名

时间:2016-11-11 21:28:50

标签: angular naming-conventions

Angular 2中用于命名HTML控件的建议做法是什么:<input id="abc" name="abc" />Id之类的内容需要<label for="abc">...</label>,而Angular绑定需要设置nameidname无法/不应该始终相同的任何原因?

当您多次使用某个组件(例如在列表中)或父组件和子组件具有相同的id / name时,该怎么办? Angular可以正确处理name,但是如何防止与id发生冲突?

1 个答案:

答案 0 :(得分:1)

如果您正在重复使用字符串上的组件,可能是您正在使用它们中的一组,并且可以使id依赖于*ngFor的{​​{1}}来自定义id元素,如下所示:

let i = index;

将产生'0p','1p','2p'等ID

否则,您可以传递您想要绑定到ID的内容作为组件的输入

<div *ngFor="let item of items; let i = index">
    <p [id]="i + 'p'">{{item}}<p>
</div>

并且测试组件将具有,例如:

<test-component [myId]="variableFromParent"></test-component>

你可以在plunker中捣乱,看看你喜欢什么,这是一个起点:http://plnkr.co/edit/UUGtMib8a2wCVP520uD1?p=preview