我目前正在尝试Angular2(Alpha 27)的FormBuilder和ControlBindings(ng-control)。我试图用ng-control绑定一些RadioButtons,但我无法让它工作。
我的控制器包含以下代码:
this.colours = [{text:"red"}, {text:"green"}, {text:"blue"}];
this.myForm = builder.group({
someText: [""],
someColour: ["blue"]
});
在我看来,我试着跟随:
<p *ng-for="var colour of colours">
<input id="{{colour.text}}" name="someColour" type="radio"
ng-control="someColour"
[checked]="myForm.controls.someColour.value == colour.text">
<label for="{{colour.text}}">{{colour.text}}</label>
</p>
问题似乎是,ng-control在我的每个单选按钮上设置someColor
的预定义值。单击其中一个RadioButtons可以正常工作,但绑定的值不会更改。因此,绑定到我的ng-control值的标签永远不会显示另一个值,而不是预定值“blue”。
希望任何人都有使用ng-control的解决方案。
P.S。:我知道我可以将RadioButton绑定到我的Controller的属性并通过ClickBinding更改值,但这不是我正在寻找的解决方案。
答案 0 :(得分:1)
随着时间的流逝,Angular2现在有了一个RadioControlValueAccessor,所以现在可以了。 甚至还有一个角度材料2组件。