2013-08-01 41 views
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'; 
     }); 

}; 

請告知我怎樣才能得到動力的命名變量的值從$範圍上方控制器。

我想更新我的數據庫,如果我在foreach循環中添加$ http。

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

它會一起發送全部100個請求。我可以在隊列中一個接一個地執行每個請求嗎? 我想在隊列中發送請求,它不應該在第一個請求完成之前發送第二個請求等...

有什麼想法嗎?

感謝

回答

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的async,這非常好。你可以在github找到它,並有一個很好的教程可用here。我相信在你的情況下,你需要一個forEachSeries

(請儘量每個柱限制爲1個問題或如果沒有可能至少爲N相關的問題。)

+0

$範圍[「類」 + entry.id] =「圖標-睜眼」;它既不工作也不拋出任何錯誤。 – Developer

+0

在你的.forEach()循環中檢查'entry'是否包含你期望它的內容(做一個console.log()來查看entry.id是否存在) –