2017-04-14 75 views
1

列從4倍陣列數據我有4個陣列,動態數據。我想做垂直的桌子。現在我有這樣的:納克重複 - 在

enter image description here

我的代碼:

<table class="table table-striped"> 
    <tbody> 
     <tr > 
      <td ng-repeat="x in daneDoWykresuX">{{ x }}</td> 
     </tr> 
     <tr> 
      <td ng-repeat="x in metodaPrzyblizona">{{ x }}</td> 
     </tr> 
     <tr> 
      <td ng-repeat="x in metodaDokladna">{{ x }}</td> 
     </tr> 
     <tr> 
      <td ng-repeat="x in metodaRK">{{ x }}</td> 
     </tr> 
    </tbody> 
</table> 

誰能告訴我怎樣才能讓多個NG重複行,不然我怎麼能做到這一點?

+0

最簡單的解決辦法可能是處理在服務器端轉置,然後再在高大的格式,其中的數據傳送到角你可以用一個ng-repeat來處理它。 –

+0

嗯,但我沒有在這裏服務器端:D – Giacomo

+0

你寫了什麼,聽起來很難。我可以問一些線索什麼的 – Giacomo

回答

1

定義和填充與來自四個陣列的內容一維數組中,只要你想它,這將使得順序。

$scope.array = []; 
// I assume that all four arrays have the same length 
// if not, replace the size with whatever you want to use 
var size = daneDoWykresuX.length; 
for (var i=0; i < size; ++i) { 
    $scope.array[i] = {}; 
    $scope.array[i].first = daneDoWykresuX[i]; 
    $scope.array[i].second = metodaPrzyblizona[i]; 
    $scope.array[i].third = metodaDokladna[i]; 
    $scope.array[i].fourth = metodaRK[i]; 
} 

然後在您的視圖中使用此HTML:

<table class="table table-striped"> 
<tbody> 
    <tr ng-repeat="x in array"> 
     <td>{{ x.first }}</td> 
     <td>{{ x.second }}</td> 
     <td>{{ x.third }}</td> 
     <td>{{ x.fourth }}</td> 
    </tr> 
</tbody> 

2

在客戶端,您可以製作所有這四個數組的單個陣列,例如[[1,2,3,4],[4,5,6,7],[3,4,5, 6],[1,3,4,5]]

然後用波紋管代碼打印它: if $ scope.myData = [[1,2,3,4],[4,5, 6,7],[3,4,5,6],[1,3,4,5]]

<table> 
    <tr ng-repeat="data in myData"> 
     <td ng-repeat="x in data">{{x}}</td> 
    </tr> 
</table> 
1

可以選擇一個,使用迭代函數,創建的垂直陣列是這樣的:

$scope.arr = $scope.daneDoWykresuX.map(function(val, index) { 
    return { 
     daneDoWykresuX: val, 
     metodaPrzyblizona: $scope.metodaPrzyblizona[index], 
     metodaDokladna: $scope.metodaDokladna[index], 
     metodaRK: $scope.metodaRK[index] 
    } 
}) 

或者,如果需要,可以刪除特定的對象名稱。

這裏的工作示例:

angular.module("myApp", []) 
 
    .controller("myCtrl", function($scope) { 
 
    $scope.daneDoWykresuX = [0.00, 0.02, 0.04, 1.04, 2.04, 3.04, 4.05]; 
 
    $scope.metodaPrzyblizona = [2.20, 0.02, 0.04, 1.04, 2.04, 3.04, 4.05]; 
 
    $scope.metodaDokladna = [3.30, 0.02, 0.04, 1.04, 2.04, 3.04, 4.05]; 
 
    $scope.metodaRK = [4.40, 0.02, 0.04, 1.04, 2.04, 3.04, 4.05]; 
 
    
 
    $scope.arr = $scope.daneDoWykresuX.map(function(val, index) { 
 
     return { 
 
     daneDoWykresuX: val, 
 
     metodaPrzyblizona: $scope.metodaPrzyblizona[index], 
 
     metodaDokladna: $scope.metodaDokladna[index], 
 
     metodaRK: $scope.metodaRK[index] 
 
     } 
 
    }) 
 
    })
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 

 
<body ng-app="myApp" ng-controller="myCtrl"> 
 
    <table class="table table-striped"> 
 
    <tbody> 
 
     <tr ng-repeat="obj in arr track by $index"> 
 
     <td>{{obj.daneDoWykresuX}}</td> 
 
     <td>{{obj.metodaPrzyblizona}}</td> 
 
     <td>{{obj.metodaDokladna}}</td> 
 
     <td>{{obj.metodaRK}}</td> 
 
     </tr> 
 
    </tbody> 
 
    </table> 
 
</body>