$scope.status != ('completed' || 'failed')
Это не делает то, что вы думаете, что делает.В JavaScript A || B
возвращает A
, если это правда, в противном случае B
;поскольку 'completed'
является правдивым, это эквивалентно
$scope.status != 'completed'
Чтобы проверить, является ли $scope.status
одним из двух значений, вам нужно либо явно проверить, что оба они различны (примечание &&
,не ||
):
$scope.status != 'completed' && $scope.status != 'failed')
или проверка того, что его нет в наборе (или другом контейнере):
let endSet = new Set(['completed', 'failed']);
// ...
endSet.has($scope.status)