我从服务器端接收复杂的JSON对象。我不知道如何循环这样的对象。这是对象。
"message": {
"name": ["Name cannot be blank."],
"contact_person": ["Contact Person cannot be blank."],
"username": ["Username cannot be blank."]
},
我正在使用angularjs
并使用ng-repeat
进行迭代。
<div style="color: red;" ng-repeat="err in message">{{err}}</div>
消息是什么。 $scope.message=justdata.message
这就是我得到的:
如何以正确的方式格式化它。请帮帮我!
答案 0 :(得分:1)
这对我来说很好,你需要在div中嵌套ng-repeat,因为你的错误信息正在列表中。你必须再次循环它。如下:
<div style="color: red;" ng-repeat="err in message">
<span ng-repeat="val in err">
{{val}}
</span>
</div>
这是工作代码
<html>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.9/angular.min.js"></script>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<div style="color: red;" ng-repeat="err in message">
<span ng-repeat="val in err">
{{val}}
</span>
</div>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.message = {
"name": ["Name cannot be blank."],
"contact_person": ["Contact Person cannot be blank."],
"username": ["Username cannot be blank."]
};
});
</script>
</body>
</html>
&#13;
答案 1 :(得分:0)
鉴于您似乎想要输出错误消息列表,我会预处理$scope.message
只是一个字符串数组。这样的事情可以解决问题:
var payload = {
"message": {
"name": ["Name cannot be blank."],
"contact_person": ["Contact Person cannot be blank."],
"username": ["Username cannot be blank."]
}
};
$scope.errors = [].concat.apply([], Object.values(payload.message));
这会在$scope.errors
中填充一系列错误消息,然后您可以使用ng-repeat
进行迭代。
答案 2 :(得分:0)
试试这个: -
<div style="color: red;" ng-repeat="err in message">{{err[0]}}</div>