对于input
元素添加到ng-repeat
内工作,该指数必须作为name属性的一部分。
<!-- index must be included in the name attribute --
<input name="doubleInputLeft" class="form-control ngMessageSample" type="{{inputType}}" ng-model="modelLeft" ng-minlength="2" ng-maxlength="20" required>
-->
<input name="doubleInputLeft{{index}}" class="form-control ngMessageSample" type="{{inputType}}" ng-model="modelLeft" ng-minlength="2" ng-maxlength="20" required>
<div ng-messages="form['doubleInputLeft'+index].$error" class="ngMessagesClass" ng-messages-multiple>
<div ng-message="minlength" class="ngMessageClass"> {{leftInputHeading}} must have at least 2 characters.</div>
<div ng-message="maxlength" class="ngMessageClass"> {{leftInputHeading}} must have at most 20 characters.</div>
</div>
否则,重复的元素将具有重复的名称。
DEMO on PLNKR
请不要在'ng-'前面加上指令名称的前缀。该前缀是为核心指令保留的。有关更多信息,请参阅[AngularJS Wiki - 最佳实践](https://github.com/angular/angular.js/wiki/Best-Practices)。 – georgeawg