通过AngularJs将枚举绑定到RadioGroup和CheckboxList

时间:2015-01-17 19:36:21

标签: angularjs angularjs-directive

我有2年的敲门经验,将视频模型绑定到“广播组”或“复选框列表”总是很痛苦。我可以看到对于angularjs来说也很痛苦。

这些是用于绑定的示例typescript枚举:

enum Role {
    Student= 1,
    Teacher= 2,
    Principal= 4
}

class SingleSelect<T>{

}

class MultipleSelect<T>{
}

我需要RadioGroup(SingleSelect)绑定和CheckboxList(MultipleSelect) 这样的要求是否有任何直截了当的方法?

必修公约

<checboxlist data="{{MultipleSelectionRolesContainerViewModel}}"> <checboxlist>
<radiogroup data="{{SingleSelectionRolesContainerViewModel}}"> <radiogroup>

SingleSelectionRolesContainer viewModel具有selectedItems属性。 MultipleSelectionRolesContainer viewModel具有selectedItem属性。

编辑

为什么将模型绑定到单选按钮很痛苦?

第一种方法

<form name="myForm" ng-controller="ExampleController">
  <input type="radio" ng-model="color" value="red">  Red <br/>
  <input type="radio" ng-model="color" ng-value="specialValue"> Green <br/>
  <input type="radio" ng-model="color" value="blue"> Blue <br/>
  <tt>color = {{color | json}}</tt><br/>
</form>

第二种方法

<label data-ng-repeat="act in activities">
<input
    name="currentActivity"
    type="radio"
    value="{{act}}"
    ng-model="engineer.currentActivity" />
    {{act}}
</label>

总之,

对于广播组(单选)和复选框列表(多选),没有像ng-options这样的角度指令

0 个答案:

没有答案