0

这有效:

<h4>Radio &amp; Uncheckable Radio</h4>
<pre>{{radioModel || 'null'}}</pre>
<div class="btn-group">
    <label class="btn btn-primary" ng-model="radioModel" btn-radio="'Left'">Left</label>
    <label class="btn btn-primary" ng-model="radioModel" btn-radio="'Middle'">Middle</label>
    <label class="btn btn-primary" ng-model="radioModel" btn-radio="'Right'">Right</label>
</div>

这不起作用

{{radioModel || 'null'}}
<div class="btn-group">
  <label class="btn btn-primary" data-ng-repeat="store in global.user.store" ng-model="radioModel" btn-radio="{{store}}" uncheckable>{{store}}</label><br>
</div>

如果您选择一个单选按钮,其他单选按钮不会取消选择。不是一次检查一个单选按钮,而是可以检查所有 3 个单选按钮!{{radioModel}} 不会显示任何值。对于第一个示例,{{radioModel}} 将根据 btn-radio 的值显示“左”、“右”或“中”。

就像 data-ng-repeat="store in global.user.store" 破坏了按钮行为!

4

2 回答 2

1

尝试用点设置范围变量,就像它是一个对象一样。

$scope.radio = {model: null}; //for example

并始终使用 radio.model 而不是 radioModel。

这是因为作用域继承的工作方式每个 ng-repeat 的 ng-model 都会生成一个新的作用域。使用“点”规则,您想要有这个问题。

这是更多信息https://github.com/angular/angular.js/wiki/Understanding-Scopes

于 2014-10-19T20:46:43.077 回答
0

尝试删除属性{{}}中的:btn-radio

<label class="btn btn-primary" data-ng-repeat="store in global.user.store" ng-model="radioModel" btn-radio="store" uncheckable>{{store}}</label>
于 2014-10-19T20:41:48.750 回答