我想验证一个角形式输入,并给它一个类,如果不是$有效,问题是,它在一个ng-repeat循环一个int数组内,输入名称是基于$ index :
<li ng-repeat="item in selectedItem.data.ax_ch">
<div ng-class="{'has-error':!form.ax_$index.$valid}">
<input type="text" id="ax_{{$index}}" name="ax_{{$index}}" ng-model="item" required=""/>
</div>
</li>
所有东西都在输出中得到$ index,但ng-class:
<li ng-repeat="item in selectedItem.data.ax_ch">
<div ng-class="{'has-error':!form.ax_$index.$valid}">
<input type="text" id="ax_0" name="ax_0" ng-model="item" required=""/>
</div>
</li>
我的预期是:
<li ng-repeat="item in selectedItem.data.ax_ch">
<div ng-class="{'has-error':!form.ax_0.$valid}">
<input type="text" id="ax_0" name="ax_0" ng-model="item" required=""/>
</div>
</li>
我搜索过,人们有类似的问题,但到目前为止还没有解决过。是否有任何角度 - 超级英雄 - 高手 - 高级 - 谁可以帮助我:)?
答案 0 :(得分:3)
因为您正在动态构建form
上的属性/键,所以您在普通Javascript中执行相同的操作:使用square["bracket"]
表示法。
将您的标记更改为:
<li ng-repeat="item in selectedItem.data.ax_ch">
<div ng-class="{'has-error':!form['ax_' + $index].$valid}">
<input type="text" id="ax_{{$index}}" name="ax_{{$index}}" ng-model="item" required=""/>
</div>
</li>