因此,我的表中有一个按角度循环的表,并且我有一个单独的函数来获取循环中每个数据的状态
<tr ng-repeat="history in data.bills">
<td class="ng-cloak min-w-td" style="text-align:center;"></td>
<td class="ng-cloak min-w-td" style="text-align:center;">@{{history.referenceno}}</td>
<td class="ng-cloak min-w-td" style="text-align:center;">@{{history.category}}</td>
<td class="ng-cloak min-w-td" style="text-align:center;">@{{history.productCode}}</td>
<td class="ng-cloak min-w-td" style="text-align:center;">@{{history.amount | number : 0}}</td>
<td class="ng-cloak min-w-td" style="text-align:center;" ng-init="checkStatus(history.referenceno)">@{{status}}</td>
<td class="ng-cloak min-w-td" style="text-align:center;">@{{history.datecreated}}</td>
</tr>
我的角函数
$scope.checkStatus = function(transactionID) {
$http.get('checkstatus/' + transactionID).success(function(data) {
$scope.status = data.status;
});
};
但是我在结果上遇到麻烦。它显示相同的状态。 我期望1个处理中和2个事务未找到状态。但它返回3个未找到的交易。
答案 0 :(得分:3)
它们都显示相同的状态,因为因为每个循环都将函数调用的结果绑定到相同的变量,所以结果始终是服务调用最后解析的那个。如果希望它起作用,则需要将每个循环绑定到其自己的变量。一条建议,将结果绑定回历史对象:
$scope.checkStatus = function(history) {
$http.get('checkstatus/' + history.referenceno).success(function(data) {
history.status = data.status;
});
};
还有您的HTML:
<td class="ng-cloak min-w-td" style="text-align:center;" ng-init="checkStatus(history)">@{{history.status}}</td>