Я думаю, это то, что вы ожидаете. Я добавил несколько фиктивных данных, чтобы лучше показать, как они могут работать. Вы были очень близки, имена классов должны быть строками, а не переменными, поэтому вокруг них стоит знак ''.
let weekdata = [
{"Count": 1, "text": "something", "orderedcount": 2},
{"Count": 6, "text": "something else", "orderedcount": 6},
{"Count": 5, "text": "something 3", "orderedcount": 2},
{"Count": 2, "text": "something test", "orderedcount": 2},
];
let app = angular.module('app', []);
app.directive('my', function() {
return {
controller: function($scope) {
$scope.weekdata = weekdata
}
}
});
.error{
background-color:red;
}
.success{
background-color:green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.7.5/angular.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div ng-app="app">
<table my>
<tr ng-class="byitem.Count != byitem.orderedcount ? 'error' : 'success'" ng-repeat="byitem in weekdata">
<td>
{{byitem.text}}
</td>
</tr>
</table>
</div>