2016-11-08 2 views
0

Ich habe die folgende Deklaration einer Tabelle mit Spalten, die dynamisch erstellt werden:ändern andere Artikel in einer bestimmten Spalte

<table> 
    <tr ng-repeat="row in rows"> 
     <td ng-class="{ 'tdhead' : $index == 0 }" 
        ng-repeat="col in row.cols">{{col.val}}</td>  
    </tr> 
</table> 

Im Beispiel ist die ng-class auf der row Variable abhängt, und es ändert sich alle td Klassen in der ersten Reihe. Aber ich muss auch die td-Klassen in einer bestimmten Spalte ändern. Gibt es einen Weg, dies zu erreichen?

Antwort

1

this helps fügen Sie einfach unten Zustand in Ihrem ng-class

ng-class="{ 'tdhead' : $index == 0 && $parent.$index == 1 }" 

var app = angular.module('plunker', []); 
 
app.controller('MainCtrl', 
 
    function MainCtrl($scope) { 
 

 

 

 
    $scope.rows = [{ 
 
     name: "abc1", 
 
     empid: 10215, 
 
     cols: ["heading1", "heading2", "heading3"] 
 
    }, { 
 
     name: "abc2", 
 
     empid: 10216, 
 
     cols: ["heading1", "heading2", "heading3"] 
 
    }, { 
 
     name: "abc3", 
 
     empid: 10217, 
 
     cols: ["heading1", "heading2", "heading3"] 
 
    }, { 
 
     name: "abc4", 
 
     empid: 10218, 
 
     cols: ["heading1", "heading2", "heading3"] 
 
    }, { 
 
     name: "abc5", 
 
     empid: 10219, 
 
     cols: ["heading1", "heading2", "heading3"] 
 
    }]; 
 

 

 

 

 
    } 
 
);
.tdhead { 
 
    background-color: red; 
 
}
<script data-require="[email protected]" data-semver="1.5.8" src="https://opensource.keycdn.com/angularjs/1.5.8/angular.min.js"></script> 
 
<table ng-app="plunker" ng-controller="MainCtrl"> 
 
    <tr ng-repeat="row in rows track by $index"> 
 
    <td ng-class="{ 'tdhead' : $index == 1 && $parent.$index == 3 }" ng-repeat="col in row.cols">{{col}}</td> 
 
    </tr> 
 
</table>

+0

Im Codeausschnitt I für 4 Zeile verwendet (Index 3) 2 Spalte (Index 1) können Sie machen Sie diese Werte sogar dynamisch –

Verwandte Themen