Fügen Sie der Tabelle Spalten, die dynamisch mit Angular.js

Ich versuche zu verwenden Angular.JS dynamisch Spalten hinzufügen, um eine html-Tabelle.

Es beginnt mit einem Satz von Daten, und ich möchte, um zusätzliche Daten auf Klick. Ich bin neu zu Eckig, und aus diesem plunker um zu verdeutlichen, was ich versuche zu tun. Ich möchte (natürlich) nur eine neue Tabelle hinzufügen header und eine neue Tabelle, die Daten basierend auf der Anzahl der Elemente im array, abgestimmt auf die index-Nummer der gleichen Zeile. Danke

Controller:

function Ctrl($scope) {
$scope.data = [];
$scope.data[3] = [];
$scope.data[0] = [['New York', 1000,2000],['Los Angeles', 200,400],['Nottingham', 800,400]]
$scope.moredata = [1500, 2500, 4500];
temp = []
$scope.getData = function() {
  $scope.moduleArray[1] = $scope.moredata;
}
$scope.moduleArray = $scope.data;
}

HTML:

<div ng-controller="Ctrl">
  <button ng-click="getData()">Get more data</button>
  <table>
  <tr>
      <th>Location</th>    
      <th>Current Data</th> 
      <th ng-repeat="ba in moduleArray[1]">new data</th>    
  </tr>
  <tr data-ng-repeat="item2 in moduleArray[0]">   
      <td>2[0]{{item2[0]}}</td>  
            <td>2[1]{{item2[1]}}</td>   
      <td data-ng-repeat="bat in moduleArray[1]">{{bat[$parent.$index]}}</td>
  </tr>
</table>

Plunkr

  • Wird das hinzufügen/entfernen von Spalten immer durchgeführt werden, auf der rechten Seite um? Wenn dem so wäre failry einfach zu map new sub-arrays, jedes mal, wenn Spalten ändern, und verwenden Sie die Spalte Länge zu bestimmen, array-Länge und entfernen, was nicht benötigt wird aus Daten zu jeder Zeit
Schreibe einen Kommentar