0

我相信我正确地遵循了单选按钮的 AngularJS 官方文档

所以,我创建了这段代码:

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>

此外,我还尝试使用 ng-value,像这样......

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>

这是我的控制器

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

问题是:可能出了什么问题?因为当我单击单选按钮时,这不会更新模型 indexSelected。有什么线索吗?

4

1 回答 1

1

好的,发现错误了。@charlietfl 给了我一些提示。谷歌一下就够了。

如果我将 ng-model="indexSelected" 替换为 ng-model="$parent.indexSelected",这将访问父范围。ng-repeat 创建一个子作用域。

于 2017-02-25T13:50:25.367 回答