Angular 自定义指令中的 ng-messages inside ng-repeat 错误行为
Angular ng-messages inside custom directive inside ng-repeat wrong behaviour
我遇到了与本主题中所述相同的问题:
不幸的是,解决方案对我不起作用,因为我在 ng-repeat 中使用我的自定义指令。所以现在只有当所有输入都满足错误条件时,ng-messages 才会工作。
http://plnkr.co/edit/lJT48bmYvR9DGFliIYDH?p=preview
我尝试了很多方法来创建 ng-messages 条件,但没有任何效果。其中两个你可以在上面的plunker中找到:
ng-messages="form.doubleInputLeft.$error"
ng-messages="form['doubleInputRight' + $index].$error"
请帮帮我,
问候
要使 input
元素在 ng-repeat
中工作,索引必须作为名称属性的一部分包含在内。
<!-- 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>
否则,重复的元素会重名。
我遇到了与本主题中所述相同的问题:
不幸的是,解决方案对我不起作用,因为我在 ng-repeat 中使用我的自定义指令。所以现在只有当所有输入都满足错误条件时,ng-messages 才会工作。
http://plnkr.co/edit/lJT48bmYvR9DGFliIYDH?p=preview
我尝试了很多方法来创建 ng-messages 条件,但没有任何效果。其中两个你可以在上面的plunker中找到:
ng-messages="form.doubleInputLeft.$error"
ng-messages="form['doubleInputRight' + $index].$error"
请帮帮我, 问候
要使 input
元素在 ng-repeat
中工作,索引必须作为名称属性的一部分包含在内。
<!-- 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>
否则,重复的元素会重名。