ng-class allows you to implement CSS dynamically by expression in different ways.
we can implement css conditional with the help of ng-class.
we can use : operator to perform if condition.
we can use npg-clsss with ng-repeat.
Demo -
http://plnkr.co/edit/3kSUFyrTNPoZOjnhbKRQ?p=preview
ng-class takes values in three different ways:
Way to use ng-class
<div ng-class="{expression}">
<div ng-repeat="accInfo in AccountInfo" ng-class="{expression}">
<!--css will set where condition will match-->
index.html
---------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------
we can implement css conditional with the help of ng-class.
we can use : operator to perform if condition.
we can use npg-clsss with ng-repeat.
Demo -
http://plnkr.co/edit/3kSUFyrTNPoZOjnhbKRQ?p=preview
ng-class takes values in three different ways:
- A string value (name of class) - ng-model="classOne"
- An array of strings - ng-class="[classOne, classTwo]"
- An object + expression to evaluate against - ng-class="{ 'redBold': variable1, 'blueBold': variable2 } - redBold will apply when variable1 will be true
Way to use ng-class
<div ng-class="{expression}">
<div ng-repeat="accInfo in AccountInfo" ng-class="{expression}">
<!--css will set where condition will match-->
index.html
---------------------------------------------------------------------------------------------------------
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
| <!DOCTYPE html><html ng-app="myCSSAppDemo"><head> <title>Different way to work with ngClass</title> <script src="app.js"></script> <style> .redBold { color: red; text-decoration: solid; } .blueBold { color: blue; text-decoration: solid; } .pinkBold { color: pink; text-decoration: solid; } .active { text-decoration: underline; font-size: 20px; font-weight: bold; } .Active5StarCustomer { color: gold; font: 30px; font-weight: bold; } </style></head><body ng-controller="cssController"> <span> </span> </div> <!--implement 'redBold' clsss if IsPrimaryAccount is true--> <div> <div style="width:200px;" ng-repeat="accInfo in AccountInfo" ng-class="{redBold:accInfo.IsPrimaryAccount } "> <span> {{accInfo.Id}}</span> <span> {{accInfo.AccountName}}</span> </div> </div> <br> <br> <!--implement 'redBold' clsss if IsPrimaryAccount is true otherwise implement 'blueBold' --> <div> <div style="width:200px;" ng-repeat="accInfo in AccountInfo" ng-class="{true: 'redBold', false: 'blueBold'}[accInfo.IsPrimaryAccount]"> <span> {{accInfo.Id}}</span> <span> {{accInfo.AccountName}}</span> </div> </div> <br> <br> <!--implement 'redBold' clsss if IsPrimaryAccount is true or implement 'active' if IsActive is true --> <div> <div style="width:200px;" ng-repeat="accInfo in ActiveAccountInfo" ng-class="{'redBold':accInfo.IsPrimaryAccount, 'active':accInfo.IsActive}"> <span> {{accInfo.Id}}</span> <span> {{accInfo.AccountName}}</span> </div> </div> <br> <br> <!--implement 'blueBold' clsss if empInfo.Gender is 'Male' or implement 'pinkBold' if Gender is 'Female' class--> <div> <div style="width:200px;" ng-repeat="empInfo in EmpInfo" ng-class="{'Male': 'blueBold', 'Female': 'pinkBold'}[empInfo.Gender]"> <span> {{empInfo.Id}}</span> <span> {{empInfo.Name}}</span> </div> </div> <br> <br> <!--implement Active5StarCustomer clsss if IsActive and 5StarCustomer both will be true--> <div> <div style="width:200px;" ng-repeat="custInfo in CustomerInfo" ng-class="{Active5StarCustomer:custInfo.IsActive && custInfo.5StarCustomer}"> <span> {{custInfo.CustomerId}} </span> <span> {{custInfo.Name}}</span> </div> </div></body></html> |
<!DOCTYPE html>
<html ng-app="myCSSAppDemo">
<head>
<title>Different way to work with ngClass</title>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.26/angular.min.js"></script>
<script src="app.js"></script>
<style>
.redBold {
color: red;
text-decoration: solid;
}
.blueBold {
color: blue;
text-decoration: solid;
}
.pinkBold {
color: pink;
text-decoration: solid;
}
.active {
text-decoration: underline;
font-size: 20px;
font-weight: bold;
}
.Active5StarCustomer {
color: gold;
font: 30px;
font-weight: bold;
}
</style>
</head>
<body ng-controller="cssController">
<span> </span>
</div>
<!--implement 'redBold' clsss if IsPrimaryAccount is true-->
<div>
<div style="width:200px;" ng-repeat="accInfo in AccountInfo" ng-class="{redBold:accInfo.IsPrimaryAccount } ">
<span> {{accInfo.Id}}</span>
<span> {{accInfo.AccountName}}</span>
</div>
</div>
<br>
<br>
<!--implement 'redBold' clsss if IsPrimaryAccount is true otherwise implement 'blueBold' -->
<div>
<div style="width:200px;" ng-repeat="accInfo in AccountInfo" ng-class="{true: 'redBold', false: 'blueBold'}[accInfo.IsPrimaryAccount]">
<span> {{accInfo.Id}}</span>
<span> {{accInfo.AccountName}}</span>
</div>
</div>
<br>
<br>
<!--implement 'redBold' clsss if IsPrimaryAccount is true or implement 'active' if IsActive is true -->
<div>
<div style="width:200px;" ng-repeat="accInfo in ActiveAccountInfo" ng-class="{'redBold':accInfo.IsPrimaryAccount, 'active':accInfo.IsActive}">
<span> {{accInfo.Id}}</span>
<span> {{accInfo.AccountName}}</span>
</div>
</div>
<br>
<br>
<!--implement 'blueBold' clsss if empInfo.Gender is 'Male' or implement 'pinkBold' if Gender is 'Female' class-->
<div>
<div style="width:200px;" ng-repeat="empInfo in EmpInfo" ng-class="{'Male': 'blueBold', 'Female': 'pinkBold'}[empInfo.Gender]">
<span> {{empInfo.Id}}</span>
<span> {{empInfo.Name}}</span>
</div>
</div>
<br>
<br>
<!--implement Active5StarCustomer clsss if IsActive and 5StarCustomer both will be true-->
<div>
<div style="width:200px;" ng-repeat="custInfo in CustomerInfo" ng-class="{Active5StarCustomer:custInfo.IsActive && custInfo.5StarCustomer}">
<span> {{custInfo.CustomerId}} </span>
<span> {{custInfo.Name}}</span>
</div>
</div>
</body>
</html>
app.js
---------------------------------------------------------------------------------------------------------
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
| var myApp = angular.module('myCSSAppDemo', []);myApp.controller('cssController', function($scope) { $scope.AccountInfo = [{ "Id": 1, "CompanyId": 101, "TenantId": 1, "AccountName": "AC1001", "ACNumber": "ACTMS1001", "IsPrimaryAccount": true }, { "Id": 2, "CompanyId": 102, "TenantId": 1, "AccountName": "AC1100", "ACNumber": "ACTMS1002", "IsPrimaryAccount": false }]; $scope.ActiveAccountInfo = [{ "Id": 1, "CompanyId": 101, "TenantId": 1, "AccountName": "AC1001", "ACNumber": "ACTMS1001", "IsActive": false, "IsPrimaryAccount": true }, { "Id": 2, "CompanyId": 102, "TenantId": 1, "AccountName": "AC1100", "ACNumber": "ACTMS1002", "IsActive": true, "IsPrimaryAccount": false }]; $scope.EmpInfo = [{ "EmpId": 1, "Gender": "Male", "Name": "Emp1" }, { "EmpId": 2, "Gender": "Female", "Name": "Emp2" }]; $scope.CustomerInfo = [{ "CustomerId": 1, "Gender": "Male", "Name": "Customer1 (5 Star Customer)", "IsActive": true, "5StarCustomer": true }, { "CustomerId": 2, "Gender": "Female", "Name": "Customer2", "IsActive": true, "5StarCustomer": false }];}); |
var myApp = angular.module('myCSSAppDemo', []);
myApp.controller('cssController', function($scope) {
$scope.AccountInfo = [{
"Id": 1,
"CompanyId": 101,
"TenantId": 1,
"AccountName": "AC1001",
"ACNumber": "ACTMS1001",
"IsPrimaryAccount": true
}, {
"Id": 2,
"CompanyId": 102,
"TenantId": 1,
"AccountName": "AC1100",
"ACNumber": "ACTMS1002",
"IsPrimaryAccount": false
}];
$scope.ActiveAccountInfo = [{
"Id": 1,
"CompanyId": 101,
"TenantId": 1,
"AccountName": "AC1001",
"ACNumber": "ACTMS1001",
"IsActive": false,
"IsPrimaryAccount": true
}, {
"Id": 2,
"CompanyId": 102,
"TenantId": 1,
"AccountName": "AC1100",
"ACNumber": "ACTMS1002",
"IsActive": true,
"IsPrimaryAccount": false
}];
$scope.EmpInfo = [{
"EmpId": 1,
"Gender": "Male",
"Name": "Emp1"
}, {
"EmpId": 2,
"Gender": "Female",
"Name": "Emp2"
}];
$scope.CustomerInfo = [{
"CustomerId": 1,
"Gender": "Male",
"Name": "Customer1 (5 Star Customer)",
"IsActive": true,
"5StarCustomer": true
}, {
"CustomerId": 2,
"Gender": "Female",
"Name": "Customer2",
"IsActive": true,
"5StarCustomer": false
}];
});

This comment has been removed by a blog administrator.
ReplyDelete