给出动态 id Angular2 绑定
Give dynamic id Angular2 Binds
My JavaScript:
this.items = [
{name: 'Amsterdam1', id: '1'},
{name: 'Amsterdam2', id: '2'},
{name: 'Amsterdam3', id: '3'}
];
我的网页:
<ul>
<li *ngFor="#item of items" id={{item.id}}>
{{ item.name}}
</li>
</ul>
我想为每个元素分配一个动态 ID,但无法让它工作。名称显示,但 id 未显示。
你说的工作方式,Angular 2.0.0.beta.8。
在这种情况下,您可以使用例如:
-
[id]="item.id"
-
[attr.id]="item.id"
-
id={{item.id}}
<ul> <li *ngFor="#item of items" #elem [id]="item.id"> {{ item.name}} ID: {{elem.id}} </li> </ul> <ul> <li *ngFor="#item of items" #elem [attr.id]="item.id"> {{ item.name}} ID: {{elem.id}} </li> </ul> <ul> <li *ngFor="#item of items" #elem id={{item.id}}> {{ item.name}} ID: {{elem.id}} </li> </ul>
普伦克
可以在此处查看模板语法中的详细信息。
https://angular.io/guide/cheatsheet
@AngelAngel提供的所有方法都是正确的,但只是为了解释为什么使用[attr.id]
发布作为答案。
默认情况下,Angular 使用 property binding
.为了明确告诉 Angular 使用属性绑定,我们改用:
<ul>
<li *ngFor="#item of items" #elem [attr.id]="item.id">
{{ item.name}} ID: {{elem.id}}
</li>
</ul>
使用attr.id
时,必须显式选择加入属性绑定,因为属性绑定成本很高。属性反映在 DOM 中,例如,更改需要检查是否注册了与此属性集匹配的 CSS 选择器。属性绑定仅是JS且便宜,因此是默认的。
<ul>
<li *ngFor="#item of items" attr.id={{item.name}}>
{{ item.name}}
</li>
</ul>
这应该有效(在 angular2 上为我工作)。
我找到了答案。我可以在"li"标签上使用[attr.id]标签。
相关文章:
- 在VanillaJS中模拟模型双向数据绑定
- angular2中具有属性绑定的字符串串联
- Angular2-类属性上的双向数据绑定
- 给出动态 id Angular2 绑定
- 删除 angular2 中的数据绑定
- Angular2:如何在输入元素上动态设置数据绑定变量
- Angular2 - 组件变量/组件类属性上的双向数据绑定
- 可以't绑定到'routerlink'因为它不是't使用angular2 webpack
- 如何在angular2中绑定复杂对象
- 在菜单项上绑定值,点击Angular2材质设计
- Angular2:将表单上下文绑定到ngTemplateOutlet
- angular2不能在一个元素上绑定多个模板
- Angular2 ngModel改变了Input type="number"的绑定
- Angular2从外部调用暴露的方法,丢失了更改绑定
- 在绑定的Angular2应用中,SystemJS导入会静默失败
- 如何在angular2中绑定一个指令到一个函数?
- angular2绑定仅在鼠标移动后适用
- Angular2中实际使用的http绑定是什么
- 在 Angular2 中使用动态组件加载器的双向数据绑定
- 动态组件单击事件绑定Angular2