是否可以使用Angular2将自定义字符串轻松绑定到html元素中的id和for
Is there anyway to easily bind custom string to id and for in html element using Angular2?
考虑以下plunker
import {Component} from 'angular2/core'
@Component({
selector: 'my-app',
template: `
<div *ngFor="#option of myHashMap">
<input type="radio" name="myRadio" id="{{generateId(option['id'])}}">
<label for="{{generateId(option['id'])}}">
{{option['name']}}
</label>
</div>
`
})
export class App {
myHashMap = [{'name': 'myName1', 'id': 'id1'},{'name': 'myName2', 'id': 'id2'}]
generateId(key) {
return "myKey" + key;
}
}
我正在尝试将一个字符串绑定到input
中的id
,并将相同的字符串绑定到label
中的for
。然而,我遇到了
Can't bind to 'for' since it isn't a known native property ("hMap">
<input type="radio" name="myRadio" id="
有没有一种angular2惯用的方法来实现这一点?
id
可以绑定到使用之一
id="{{someProp}}"
[id]="someProp"
因为id是每个元素的属性。
对于for
,您需要使用之一
[attr.for]="someProp"
attr.for="{{someProp}}"
[htmlFor]="someProp"
htmlFor="{{someProp}}"
因为htmlFor是反映到for
属性的属性。
另请参阅HTML 中的属性和属性
Plunker示例
绑定属性值的正确方法:
[attr.id]="value"
相关文章:
- 我应该怎么做才能避免在网页上移动元素(html、css、jQuery)
- 更改元素HTML,但忽略最后一个子项
- 增加在选择元素HTML中搜索的时间
- Jquery无法获取元素html
- 从所选元素 html 上方的元素获取属性值
- 在 JS 的单选按钮元素 (HTML) 中使用 title 属性
- 如何在页面上播放每个音频元素(HTML,JQuery,Javascript)
- 我需要一种新的方法来检测元素 HTML 是否有更改
- 获取父元素 html 以及子内容
- AngularJS指令:如何在ng-repeat中动态更改元素html
- html 属性中的引号被标记为 ”来自元素.html()的结果
- 在指令's链接中替换angular元素html
- 如果元素有子元素html元素
- 如何下推表格中的元素- HTML
- 如何在纯javascript中使用变量插入数组值,如元素HTML
- jQuery textilate .js -如何“重置”元素HTML并重新启动动画
- 将元素HTML附加到新附加的textarea中
- 在添加类的情况下,CSS 3的过渡是否不能与模板元素(HTML 5)一起工作?
- jQuery没有更新DOM元素HTML
- 在jQuery中更快地替换元素HTML