2015-09-10 39 views
0

讓所有的數據我有我的簡單的NG-重複:AngularJS:NG-點擊NG重複一次

<div ng-repeat="x in names"> 
    <h4>{{x.productid}}</h4> 
    <h4>{{x.newquantity}}</h4> 
    <h4>{{x.total}}</h4> 
    <button ng-click="addInfoAboutOrder(x)">Add Info</button> 
</div> 

和AngularJS功能:

$scope.addInfoAboutOrder = function(x) { 
     $scope.productId = x.productid; 
     $scope.productQuantity = x.newquantity; 
     $scope.total = x.total; 

     $http.post("api/setOrdersInfo" + "/" + $scope.productId + "/" + $scope.productQuantity + "/" + $scope.total) 

    } 

在它工作的那一刻。但是,ng-repeat會按照存在數據(從1到50)的次數打印按鈕。當然,這可以通過添加一個簡單的過濾器來完成,但它不能解決我的問題。最大的問題是它只在數據庫的表中添加一行。我的問題是我不能讓一個

<button ng-click="addInfoAboutOrder(x)">Add Info</button> 

來處理我的所有數據在ng重複。我想通過點擊一個按鈕,在ng-repeat中添加儘可能多的數據庫中的數據。

+0

在哪裏呢數據爲'names'來從? –

+0

它來自: $ http.get( 「API/getShoppingCart」)成功(功能(響應){ \t \t $ scope.names =響應; \t \t}); \t 該信息存儲在數據庫中。 – Laurynas

+0

你想更新所有的人,也是一次一個? – Aakash

回答

1

移動按鈕ng-repeat之外:

<div ng-repeat="x in names"> 
    <h4>{{x.productid}}</h4> 
    <h4>{{x.newquantity}}</h4> 
    <h4>{{x.total}}</h4> 
</div> 
<button ng-click="addInfoAboutOrder(names)">Add Info</button> 

然後傳遞names代替x,爲了擺脫這一切的數據迭代names,使得$http要求每個迭代(做注意,這將是大數據集最有可能導致的性能問題,所以你應該嘗試找到一個更好的解決方案,做你想要什麼):

$scope.addInfoAboutOrder = function(names) { 

    for (var i = 0; i < names.length; i++) { 

     $http.post("api/setOrdersInfo" + "/" + names[i].productid + "/" + names[i].newquantity + "/" + names[i].total); 
    } 
} 
+0

謝謝!完美的作品! :) – Laurynas

相關問題