提供了type的HTML元素div
,如何设置其id
属性的值,即范围变量和字符串的连接?
提供了type的HTML元素div
,如何设置其id
属性的值,即范围变量和字符串的连接?
Answers:
ngAttr
如官方文档中所述,指令在这里完全可以提供帮助
https://docs.angularjs.org/guide/interpolation#-ngattr-for-binding-to-arbitrary-attributes
例如,要设置元素的id
属性值以div
使其包含索引,则视图片段可能包含
<div ng-attr-id="{{ 'object-' + myScopeObject.index }}"></div>
这将被插值到
<div id="object-1"></div>
myScopeObject
是scope
使用控制器公开的对象的属性。另请参阅docs.angularjs.org/guide/controller。这对您来说是否足够清楚,或者我需要进一步阐述?
<div id="{{ 'object' + index }}">
和<div ng-attr-id="{{ 'object' + index }}">
?文档似乎说,前置ng-attr-
是为元素非标准(例如不是)的情况提供帮助<div>
。我看的文档对吗?
这件事对我来说很好用:
<div id="{{ 'object-' + $index }}"></div>
ng-attr-id
在0%的情况下是有利的。无法提供示例,因为没有示例。
ng-attr-id
方法是,以确保原料纳克表达再也不能在有效的HTML属性呈现(例如id
,label
等)。这是为了停止任何下游用法读取ng'垃圾'(例如,在渲染完成之前或js崩溃之后)
我发现实现此行为的一种更优雅的方法很简单:
<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会非常有用。
只是 <input id="field_name_{{$index}}" />
myScopeObject
来的?我在哪里定义它?