Hi I got a object with a list within I would like loop in my html with a ng-repeat. The list is key-value and the value is true or false. In my html I have a div with a class and a own background-color. So when I do the ng-repeat, I would like to check, if the value in the list is false and add a new class with a new background-color. I used for this ng-class with an expression, but it does'nt work. This is my object:
$scope.list = [
{
"Name" : "Jacob",
"Properties" : {
"P1": true,
"P2": true,
"P3": false
}
},
{
"Name" : "James",
"Properties" : {
"P1" : false,
"P2" : true,
"P3" : true
}
},
{
"Name" : "Hector",
"Properties" : {
"P1" : false,
"P2" : false,
"P3" : true
}
}
]
Then I got follow html:
<div ng-repeat="item in list">
<div class="myContainer">
<div class="cMyBox cColor1" ng-class="{cWhite: !item.Properties.P1}"></div>
<div class="cMyBox cColor2" ng-class="{cWhite: !item.Properties.P2}"></div>
<div class="cMyBox cColor3" ng-class="{cWhite: !item.Properties.P3}"></div>
</div>
</div>
And this is my css:
.myContainer {display: flex; flex-direction: row;}
.cMyBox {width: 20px; height: 20px; background-color: blue;}
.cWhite{background-color: white;}
.cColor1 {background-color: red;}
.cColor2 {background-color: blue;}
.cColor3 {background-color: green;}
And the moment it does'nt change the color, when it's false. I also tried with ng-class="{cWhite: item.Properties.P1 == false}".
I used this way to add a class with ng-class + expression a few times, but now it does'nt work. Maybe my repeat or my list is wrong.
Thanks!