【发布时间】:2018-02-04 06:59:21
【问题描述】:
我是 angularjs 新手,遇到了一个非常烦人的问题。 在我的应用程序中,我使用了一个包含所有功能的工厂,并让控制器使用它们。 我创建了一个返回数组并将其打印在网页上的函数, 但是当返回的数组只包含 1 个变量时,它会打印出一个空列表。当数组中有超过 1 个变量时,它工作正常。 console.log 显示该数组包含该变量,但它不会在我的列表中打印它。
如果这很重要,我也在使用引导程序。
我希望我正确地解释了我的问题。 感谢您的帮助!
工厂:
function getArray(var){
return $http.get(restURL+var).then(
function(response){
return response.data.coupon;
}
);
}
控制器:
$scope.getArrayFunction = function(){
appServicesProvider.getArray($scope.var).then(function(coupons){
$scope.arrayVar = coupons;
})
}
HTML:
<div id="getArrayDiv">
<table class="table table-hover">
<thead>
<tr>
<th>#</th>
<th> Title</th>
<th></th>
</tr>
</thead>
<tbody>
<tr ng-repeat="coupon in arrayVar">
<td>{{coupon.id}}</td>
<td>{{coupon.title}}</td>
</tr>
</tbody>
</table>
<input type="text" class="form-control" placeholder="Enter Type" ng-model="var" required="true">
<button class="btn btn-success" ng-click="getArrayFunction()" >Get Array</button>
</div> <!-- /getArrayDiv -->
【问题讨论】:
-
你在 html 中的任何地方使用过 ng-app 指令吗?
-
是的,当然。正如我所说,一切正常,唯一的问题是返回的数组只包含 1 个变量。
-
@DorGolan 你能做到 {{arrayVar}} 并显示 1 个变量在 html 中的样子
-
看起来
coupons是一个对象而不是数组 -
@MaximShoustin 我现在看到包含 1 个变量的数组实际上是一个对象,但是当变量超过 1 个时,它就是一个数组。我的java代码返回一个数组,而arrayVar被定义为一个数组,所以我不知道该怎么做..有什么想法我应该做什么?