我对Angular有一个问题;我有多个演员,每个演员都有一个放射性的形式有三种选择:受害者,观察者和两者。
相关模板:
<div class="actor" ng-repeat="activeActor in activeActors">
<p class="category">{{activeActor}}</p>
<form name="radioButtonForm">
<div class="causerRadioForm">
<input type="radio" name="causerRadio" value="victum" ng-model="defaultRadioButton" ng-click="setActorCauser(activeActor, 'victum')">
</div>
<div class="causerRadioForm">
<input type="radio" name="causerRadio" value="causer" ng-model="defaultRadioButton" ng-click="setActorCauser(activeActor, 'causer')">
</div>
<div class="causerRadioForm">
<input type="radio" name="causerRadio" value="both" ng-model="defaultRadioButton" ng-click="setActorCauser(activeActor, 'both')">
</div>
</form>
</div>
这很好但是我有一个按钮,如果我点击它,会有多个actor(称为fastActors)被渲染并且默认值为victum。
问题在于,当我选择一个演员时,例如将其置于观察者然后点击fastActors时,单选按钮会保持警告状态,而单选按钮应重置为victum。
相关JS
$scope.toggleFastTraffic = function(actor){
//erase all actors
$scope.actors = [];
$scope.report.traffic_players = [];
//default value for radio boxes
$scope.defaultRadioButton = "victum";
$scope.SlowTraffic = false;
$scope.FastTraffic = true;
$scope.formOptionsExpanded = true;
$scope.activeActors = [];
var i = $scope.activeActors.indexOf(actor);
console.log($scope.activeActors.indexOf(actor));
if ($scope.counter === -1){
//do more here
}
基本上我按下toggleFastActor的那一刻我希望让所有的单选按钮成为可能。
友好的问候, Ť
P.S。我知道我为了保持这个命令而得到的胜利错字:P
这是一个快速的编码器,它还没有完成,但它确实包含了这个错误:如果你按下汽车并使其成为一个警告,然后切换快速交通,汽车将在报告中转到受害者(这很好),但是单选按钮不会改变。
P.s codepen还有其他一些错误,也没有必要注意那些。
答案 0 :(得分:1)
这是因为ng-model值相同。设置&#39; defaultRadioButton&#39;的值后到了&#39; causer&#39;对所有人来说,它将继续保持谨慎。记住MVVM模式