2014-09-11 4 views
0

У меня есть кнопка, которую я хочу скрыть, когда массив $scope.game.players.players содержит определенное значение.ngShow/ngСкрыть с помощью функции

button(ng-click="", ng-hide="ImPlaying()") Play 

Функция ImPlaying() проверяет условие и возвращает булево

$scope.ImPlaying = function(){ 
    $scope.game.players.playerExist($scope.user.socketID, function(exist){ 
     console.log(exist); 
     return exist; 
    }); 
} 

exist значение изменения, но кнопка всегда отображается

Но когда я заменить функцию $scope.game.players.playerExist() по его коду все работает ожидается.

$scope.ImPlaying = function(){ 
    for (var i = 0; i < $scope.game.players.players.length; i++) { 
     if($scope.game.players.players[i]){ 
      if($scope.game.players.players[i].socketID == $scope.user.socketID){ 
       return true; 
      } 
     } 
    }; 
    return false; 
} 

Что не так с первой функцией?

ответ

2

Вы упускаете оператор возврата в функции ImPlaying

$scope.ImPlaying = function(){ 
    return $scope.game.players.playerExist($scope.user.socketID, function(exist){ 
     console.log(exist); 
     return exist; 
    }); 
} 
Смежные вопросы