は、私がinput
でid
に文字列とlabel
でfor
に同じ文字列をバインドしようとしていますplunkerAngular2を使用して、カスタム文字列をidとhtml要素に簡単にバインドする方法はありますか?
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;
}
}
次考えてみましょう。しかし、私は実行する
Can't bind to 'for' since it isn't a known native property ("hMap">
<input type="radio" name="myRadio" id="
これを達成するための角度2の慣習的な方法はありますか?
* [attr.id] *を実行する必要があります。* [id] *は動作しません。 – Arlo
なぜ機能しないのですか?要素は 'id'プロパティを持っていて、バインディングはうまくいきます(Plunkerのリンクを参照してください) –
うーん、私はまだ動作すると思いますが、** [attr.id] **を使用しなかったとき、生成されたHTMLには、** [id] **を使用すると* ng-reflect-id = "someId" *もありますが、** [attr.id] **を使用するとこの属性は存在しません。しかし、私は何のために反映されているか分からないが。 – Arlo