我有以下js代码:
$http.get($rootScope.appUrl + '/nao/system/getUserBox/' + $routeParams['id']).success(function(data) {
$scope.userbox = data;
});
$ scope.userbox可以包含一个或多个对象。在这种情况下,用户的结果只有一个对象:
Object { mac="00:22:07:2A:8D:4B", type="ZAP100", serial="D15024H12B034568", more...}
我想要做的是打印每个OBJECT的Box,而不是对象属性,在数组结果中。
我试过这样的话:
<h5 class="bg-primary rmpad15" ng-repeat="userbox in userbox">Box</h5>
但是这个结果在19行-elements中,这对于每个对象属性来说都是错误的。如果数组只包含一个对象,那么我希望打印一个元素。
答案 0 :(得分:2)
您可以测试 arrayness 的返回值,如果它是对象,则将其包装在数组中:
$scope.userbox = Array.isArray( data ) ? data : [ data ];
此方法应适用于Internet Explorer 9及更高版本。如果出于某种原因,您需要在早期版本的IE中支持Array.isArray
,您可以polyfill it。
答案 1 :(得分:0)
如果确保后端始终返回数组中的单个或多个对象,那么你应该是金色的!