0

在 ng-repeat 列表中,我调用一个函数 {{ getDetailedData(id) }} 以用更多数据丰富重复项。在这个函数中,我调用执行异步 $http 调用以获取更多数据。这会导致递归行为:a-sync 函数被称为 infinte。

当我删除异步调用时,该函数只会被调用,因为列表中有项目是重复的来源。

异步调用有一个不错的回调,肯定不会调用原始函数。

需要你对此的想法。

编辑

控制器中的功能:

    $scope.getExtraData = function (id) {

                sFact.getSpotDetail(id, function (data) {
                    console.log('getSpotDetail', data);
                })
            return false;
}

部分重复:

<div class="col-lg-4" style="display: block;" data-ng-repeat="cust in spots | filter: query">
            <h2 title="{{ cust.title }}">{{ $index + 1 }} {{ cust.title }}</h2>
            {{ getExtraData(cust.id) }}
</div>

异步函数 sFact(ory)

factory.getSpotDetail = function(id, callback) {

    var data = 'id=' + id;
    $http({
        url: "php/get_venue.php",
        headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'},
        data: data,
        method: "POST"
    }).success(callback);
}
4

0 回答 0