2016-06-29 9 views
1

Ich habe ein Problem. Ich würde gern eine ng-Wiederholung auf einem anderen json abhängig von dem Anruf machen.Ng-Wiederholung auf generischem Element

Ich möchte, dies zu tun: Wenn der Anruf auf elementHeaderATMT gemacht Ich zeige den folgenden Code

<table class="table"> 
        <thead> 
          <tr ng-repeat="element in elementsHeaderATMT"> 
           <th>{{ element.transportLine }}</th> 
           <th>{{ element.station }}</th> 
           <th>{{ element.transformer }}</th> 
           <th>{{ element.park }}</th> 
           <th>{{ element.lineMT }}</th> 
           <th>{{ element.section }}</th> 
           <th>{{ element.CD }}</th> 
           <th>{{ element.transformerCdCm }}</th> 
           <th>{{ element.element }}</th> 
           <th>{{ element.type }}</th> 
          </tr> 
         </thead> 
         <tbody> 
          <tr ng-repeat="element in elementsDataATMT"> 
           <td>{{ element.transportLine }}</td> 
           <td>{{ element.station }}</td> 
           <td>{{ element.transformer }}</td> 
           <td>{{ element.park }}</td> 
           <td>{{ element.lineMT }}</td> 
           <td>{{ element.section }}</td> 
           <td>{{ element.CD }}</td> 
           <td>{{ element.transformerCdCm }}</td> 
           <td>{{ element.element }}</td> 
           <td>{{ element.type }}</td> 
          </tr> 
         </tbody> 
        </table> 

sonst diese .. aber wenn ich will dies automatisch tun Was soll ich tun

<table class="table"> 
        <thead> 
          <tr ng-repeat="element in elementsHeaderBT"> 
           <th>{{ element.CD }}</th> 
           <th>{{ element.Cuadro }}</th> 
           <th>{{ element.Salida }}</th> 
           <th>{{ element.type }}</th> 
           <th>{{ element.element }}</th> 
          </tr> 
         </thead> 
         <tbody> 
          <tr ng-repeat="element in elementsDataATMT"> 
           <td>{{ element.CD }}</td> 
           <td>{{ element.Cuadro }}</td> 
           <td>{{ element.Salida }}</td> 
           <td>{{ element.type }}</td> 
           <td>{{ element.element }}</td> 
          </tr> 
         </tbody> 
        </table> 

Mein Json ist diese

{ 
"ATMT": { 

    "header": [{ 

     "transportLine": "Linea Transporte", 
     "station": "Estracion", 
     "transformer": "Trafo", 
     "park": "Parque", 
     "lineMT": "Linea MT", 
     "section": "Tramo", 
     "CD": "CD", 
     "transformerCdCm": "Trafo CD/CM", 
     "element": "Elemento", 
     "type": "Tipo" 

    }], 

    "data": [{ 

     "transportLine": "", 
     "station": "ABRERA", 
     "transformer": "", 
     "park": "25", 
     "lineMT": "AGUAS1", 
     "section": "", 
     "CD": "LL...", 
     "transformerCdCm": "", 
     "element": "T-1", 
     "type": "DIS_MAN_CD" 

    }] 
}, 

"BT": { 

    "header": [{ 

     "CD": "CD", 
     "picture": "Cuadro", 
     "departure": "Salida", 
     "type": "Tipo", 
     "element": "Elemento BT" 


    }], 

    "data": [{ 

     "CD": "C100446", 
     "picture": "11", 
     "departure": "01", 
     "type": "", 
     "element": "" 

    }] 
} 

}

und mein Controller ist dies

    $scope.elementsHeaderATMT = response.ATMT.header; 
        $scope.elementsDataATMT = response.ATMT.data; 

        $scope.elementsHeaderBT = response.BT.header; 
        $scope.elementsDataBT = response.BT.data; 

sorry für mein schlechtes Englisch, aber ich hoffe, dass ich Dank

Antwort

1

klar war, wenn ich deine Idee verstehen, Sie Iterierte über den Schlüssel mögen, Werttupel im json. Dies wären hier geeignet:

<tr ng-repeat="(key, value) in elementsDataATMT "> 
    <td> {{key}} </td> <td> {{ value }} </td> 
</tr> 
+0

Key Rückkehr 0. Dies ist der Code Ergebnis: 0 { "transportLine": "", "Station": "ABRERA", "Transformator": "", "Park": "25",“ lineMT ":" AGUAS1 "," Abschnitt ":" "," CD ":" LL ... "," transformerCdCm ":" "," Element ":" T-1 "," Typ ":" DIS_MAN_CD "} –

0

Sie ng-if auf beiden Tabellen mit einer Variablen verwenden, können Sie in der Steuerung gesetzt:

<table class="table" ng-if="elementHeaderATMTCalled"> 
<table class="table" ng-if="!elementHeaderATMTCalled"> 

Und in der Steuerung, jedes Mal, wenn Sie Ihren Anruf, Sie Aktualisiere diese Variable.

$scope.elementHeaderATMTCalled = true; // or false 
+0

kannst du mir bitte den ganzen Code zeigen? –