提供了一个div类型的HTML元素,如何设置其id属性的值,这是一个范围变量和字符串的连接?
当前回答
这个方法对我很有效:
<div id="{{'object-' + $index}}"></div> .
其他回答
只要<input id="field_name_{{$index}}" />
这个方法对我很有效:
<div id="{{'object-' + $index}}"></div> .
如果你遇到这个问题,但涉及到较新的Angular版本>= 2.0。
<div [id]="element.id"></div>
我发现实现这种行为的一个更优雅的方法是:
<div id="{{ 'object-' + myScopeObject.index }}"></div>
对于我的实现,我希望ng-repeat中的每个输入元素都有一个唯一的id来关联标签。因此,对于myScopeObjects中包含的对象数组,可以这样做:
<div ng-repeat="object in myScopeObject">
<input id="{{object.name + 'Checkbox'}}" type="checkbox">
<label for="{{object.name + 'Checkbox'}}">{{object.name}}</label>
</div>
在动态添加这样的内容时,能够动态生成唯一id是非常有用的。
如果你使用这个语法:
<div ng-attr-id="{{ 'object-' + myScopeObject.index }}"></div>
Angular会渲染如下内容:
<div ng-id="object-1"></div>
但是这种语法:
<div id="{{ 'object-' + $index }}"></div>
将生成如下内容:
<div id="object-1"></div>