2017-02-25 2 views
0

Ich glaube, ich folge korrekt die AngularJS official documentation for radio buttons.Angular - mit Radiobuttons

Also, habe ich diesen Code:

indexSelected={{indexSelected}} 
<form name="form"> 
    <div class="form-group"> 
     <label ng-repeat="s in prices track by $index" style="width: 100%"> 
      <input type="radio" name ="option" ng-model="indexSelected" value="{{s.months}}"> {{s.price}} + vat 
     </label> 
    </div> 
</form> 

Auch ich habe andere ng-Wert Versuch verwenden, so ...

indexSelected={{indexSelected}} 
<form name="form"> 
    <div class="form-group"> 
     <label ng-repeat="s in prices track by $index" style="width: 100%"> 
      <input type="radio" name ="option" ng-model="indexSelected" ng-value="s.months"> {{s.price}} + vat 
     </label> 
    </div> 
</form> 

und dies ist mein Controller

angular 
.module('app') 
.controller('ModalInstanceUpgradeSolutionCtrl', function ($scope,$rootScope, $uibModalInstance, appId) { 
    $scope.prices = [{ 
     months: 1, price : 20 
     }, { months 2: price: 40}] 
    }); 

Die Frage ist: Was könnte falsch sein? Denn wenn ich auf den Radiosender klicke, wird das Modell indexSelected nicht aktualisiert. Irgendeine Ahnung ?

+1

Sie brechen die goldene Regel, kein Objekt in 'ng-model' zu verwenden, und werden daher aufgrund von 'ng-repeat' in Probleme mit Kind-Bereichen geraten – charlietfl

Antwort

1

Ok, den Fehler gefunden. @ Charlietfl gab mir einen Hinweis. Genug, um es zu googeln.

Wenn ich ng-model = "indexSelected" für ng-model = "$ parent.indexSelected" ersetze, wird dies auf den übergeordneten Bereich zugreifen. ng-repeat erstellt einen untergeordneten Bereich.

Verwandte Themen