ng-messages不能使用ng-repeat

时间:2016-06-28 12:03:38

标签: javascript angularjs

我无法让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-messageng-message-exp,但没有一个有效。 为什么ng-repeat打破ng-message指令?

提前致谢!

3 个答案:

答案 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"
}]