0

我认为我有一百行。我想一一处理所有这些行。每一行都有状态

  • 未完成(默认)
  • 完全的
  • 加工

我想在控制器中完成处理之前和之后更改每行的状态。在完成之前,我想将状态更改为正在处理,完成后,我想将状态更改为完成。

<tr ng-repeat="item in pagedItems[currentPage] | orderBy:sortingOrder:reverse ">
                <td>{{item.id}}</td>
                <td>{{item.fname}}</td>
                <td>{{item.lname}}</td>               

                <td>
                    <span ng-class="class{{item.id}}"></span>
                </td>
</tr>

在控制器中我有

$scope.startSending = function() {
    $scope.filteredItems.forEach(function(entry) {
       // Throwing Error! How can dynamically get value of scope variable
            $scope.'class'+entry.id = 'icon-eye-open';
        });

};

请告知如何在控制器中从上面的 $scope 获取动态命名变量的值。

我也想更新我的数据库,如果我在 foreach 循环中添加 $http 。

$http.post('/someUrl', data).success(successCallback);

它将一起发送所有 100 个请求。我可以在队列中一个接一个地执行每个请求吗?我想在队列中发送请求,它不应该在第一个请求完成之前发送第二个请求等......

任何想法?

谢谢

4

1 回答 1

0

关于Please advise how can I get value of dynamical named variable from $scope above in controller.答案是 Javascript 而不是 AngularJS 相关的。做就是了:

$scope['class' + entry.id] = 'icon-eye-open';

关于排队 $http 请求,您想查看各种异步流控制解决方案。我在一个 Node.js 应用程序 caolan's 中使用过,async非常好用。你可以在github上找到它,这里有一个很好的教程。我相信在你的情况下你需要一个forEachSeries

(请尽量将每个帖子限制为 1 个问题,或者如果不可能,至少限制为 N 个相关问题。)

于 2013-08-01T15:53:09.223 回答