我无法让ng-messages
使用ng-repeat
。
<form name="testForm">
<input type="text" name="text" ng-model="text" required />
<div ng-messages="testForm.text.$error">
<div ng-repeat="Error in errors" ng-message="Error.type">{{ Error.message }} </div>
</div>
</form>
以下是一个示例:http://codepen.io/jakej/pen/dXvRdp
第一种形式是使用ng-repeat
。
我已经尝试了ng-message
和ng-message-exp
,但没有一个有效。
为什么ng-repeat
打破ng-message
指令?
提前致谢!
答案 0 :(得分:1)
不要一起使用ng-repeat和ng-message,请尝试这种方式:
<form name="testForm">
<input type="text" name="text" ng-model="text" required />
<div ng-repeat="item in items">
<div ng-messages="testForm.text.$error">
<div ng-message="Error.type">{{ Error.message }} </div>
</div>
</div>
</form>
答案 1 :(得分:1)
首先你的Json数组有错误。
之后,您需要添加带有ng-repeat <div>
的ng-message属性子句的范围
在您的ng-message属性中添加{{
}}
效果很好
<强> JS
$scope.errors = [{
type: "required",
message: "Field is required"
}];
<强> HTML
<div ng-repeat="Error in errors">
<span ng-message="{{Error.type}}">{{Error.message}}</span>
</div>
<强>更新
您不需要添加子元素,只有{{}}
的遗漏是重要的
<div ng-repeat="Error in errors" ng-message="{{Error.type}}">
{{Error.message}}
</div>
答案 2 :(得分:0)
尝试在范围内使数组出错:
$scope.errors = [{
type: "required",
message: "Field is required"
}]