laravel角度不将值传递给角度函数

时间:2018-08-10 01:02:00

标签: angular laravel

因此,我的表中有一个按角度循环的表,并且我有一个单独的函数来获取循环中每个数据的状态

<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个未找到的交易。

1 个答案:

答案 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>