2014-10-19 65 views
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}}不會顯示任何值。對於第一個例子,根據btn-radio的值,{{radioModel}}會顯示'Left','Right'或'Middle'。

這就像data-ng-repeat =「store in global.user.store」會打破按鈕行爲!

回答

1

嘗試設置範圍變量以一個點,一樣,如果它的對象。

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

並且總是使用radio.model代替radioModel。

這是因爲範圍繼承的作用方式是ng-repeat的每個ng-model都會生成一個新的範圍。用'點'的規則,你想有這個問題。

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

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>