我试图创建一个输入无线电元素作为角度指令,有3个可能的选项;没有,单身和双人。
我还希望用户能够只选择从无到单,从单一到双,从双到无。
在这种情况下,我的元素将如下所示:
<tribox id="{{id}}" name="{{name}}" type="{{type}}" />
有时我需要能够将它们组合在一起,在这种情况下我会像这样添加组属性:
<tribox id="{{id}}" name="{{name}}" type="{{type}}" group="cheese" />
Tribox从以下模板生成:
<div class="tribox">
<input id="{{id}}-none" type="radio" name="{{(group)?group:name}}" ng-model="val" value="0" />
<label for="{{id}}-none" ng-show="val == 2" class="none">{{name}}</label>
<input id="{{id}}-single" type="radio" name="{{(group)?group:name}}" ng-model="val" value="1" />
<label for="{{id}}-single" ng-show="!val || val==0" class="single">{{name}}</label>
<input id="{{id}}-double" type="radio" name="{{(group)?group:name}}" ng-model="val" value="2" />
<label for="{{id}}-double" ng-show="val == 1" class="double">{{name}}</label>
</div>
问题
我遇到的问题是,当我选择将一堆元素组合在一起时,我的程序并没有真正对它进行分组。这是因为我使用的tribox元素?或者是因为我使用的ng-show属性!什么是干净的逻辑解决方法!