所以我的问题如下,我有这个HTML
<div class="col-sm-4">
<p><span>Teste A/B:</span></p>
<label class="label-radio">
<input type="radio" class="radio" name="ab-test" value="true" ng-model="isTestAvailable"> Sim </label>
<label class="label-radio">
<input type="radio" class="radio" name="ab-test" value="false" ng-model="isTestAvailable"> Não </label>
</div>
<div class="col-sm-4">
<p><span>Nº de testes:</span></p>
<select class="form-control" ng-model="tests.number">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</div>
</div>我正在尝试做的是,当用户将select更改为另一个值时,我将通过ng-repeat生成给定数量的测试输入
<div ng-if="isTestAvailable == 'true'" ng-repeat="test in tests">
<hr>
<div class="row">
<div class="col-sm-12">
<h3>Test {{$index}}</h3>
<p><span>Specifications:</span></p>
<textarea id="teste1" class="form-control" onkeyup="resizeTextarea('test1')" data-resizable="true"></textarea>
</div>
</div>
<hr>
</div>我的控制器包含此$watch
$scope.$watch("tests.number", function(newVal, oldVal) {
$scope.tests = [{}];
var i = parseInt(newVal);
for(var x = i; x <= newVal; x++) {
$scope.tests.push({});
}
});当值改变时,我试图使用它来改变测试对象的数量,我也尝试使用一个简单的变量,并改为执行ng-repeat("i in tests.number"),但这不起作用,我该如何做才能使ng-repeat与我给定的select选项值一起工作呢?
发布于 2016-06-14 18:36:31
我建议您使用另一个变量而不是tests.number,因为您在您的观察器中覆盖了它。请检查这个柱塞器:https://plnkr.co/edit/XnV9MKjIYe1YOL4hR6Le?p=preview我使用另一个变量并绑定ng-change而不是watch
<select class="form-control" ng-model="testNumber" ng-change="changeTestNumber()">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>https://stackoverflow.com/questions/37809382
复制相似问题