Проблема здесь в том, что у вас есть список значений, но только один логический тип, представляющий все из них.
tableRowTrueOrFalse
должен быть массивом логических значений вместо логических значений. Затем вы должны заполнить массив false
по умолчанию.
$scope.tableRowTrueOrFalse = Array(availableFields.length).fill(false);
В вашем html это будет что-то вроде:
<table>
<tbody ng-repeat="field in availableFields">
<tr ng-class="{'orderTypeTableRowSelected':tableRowTrueOrFalse[$index]}">
<td style="padding:3px;">{{field.name}}</td>
<td style="padding:3px;">
<button type="button" ng-click="orderTypeTableRowSelected(field, $index)" class="btn btn-danger" style="margin-left:10px;"><i class="fas fa-check"></i> Required</button>
<button type="button" class="btn btn-warning"><i class="fas fa-check"></i> Default </button>
</td>
</tr>
</tbody>
</table>
Тогда в вашей функции,
$scope.orderTypeTableRowSelected = function (field, index) {
$scope.tableRowTrueOrFalse[index] = !$scope.tableRowTrueOrFalse[index];
console.log(field);
};