2016-07-16 2 views
0

내 앵거스 컨트롤러에 다음과 같은 기능이 있습니다. 스위치 케이스에 반복이 많습니다. 어떻게 최적화 할 수 있습니까?스위치 케이스의 각도를 최적화하십시오

$scope.start = function() { 

     var when; 

     console.log("Start: " + $scope.level + " " + $scope.round) 
     switch($scope.level + "|"+ $scope.round){ 
     case "1|1": 
     $scope.promptRound='Level 1 Round 1'; 
     when=3000 
     break; 
     case "1|2": 
     $scope.promptRound='Level 1 Round 2'; 
     when=3000 
     break; 
     ... 
     case "2|1": 
     $scope.promptRound='Level 2 Round 1'; 
     when=3000 
     break; 
     case "2|2": 
     $scope.promptRound='Level 2 Round 2'; 
     when=3000 
     break; 
     ... 
     default: 
     $scope.promptRound='Default'; 
     } 

사례는 $의 scope.level로 식별 case "6|8" 기본적으로 거기에 여러 수준까지 계속하고 각 수준 (각 레벨은 라운드의 다른 번호를 가지고) $의 scope.round로 식별 몇 차례있다.

답변

1

이 대신 전환하는 방법 은요?

$scope.promptRound = $scope.level && $scope.round 
    ? ['Level', $scope.level, 'Round', $scope.round].join(' ') 
    : 'Default'; 

var when = $scope.level && $scope.round ? 3000 : null; 

또는

if($scope.level && $scope.round) { 
    var when = 3000; 
    $scope.promptRound = ['Level', $scope.level, 'Round', $scope.round].join(' '); 
} else { 
    $scope.promptRound = 'Default'; 
} 
+0

아 VAR 즉 각 레벨 5000의 집합 3 라운드 이후 몇 가지 경우에 대해 서로 다른 값을 가진다 '는. 반복을 피하고 컴팩트하게 유지하기 위해 전체 코드를 게시하지 않았습니다. 어떻게 처리 할 수 ​​있을까요. – Nitish

+0

나는 그것을 또한 고쳤다! 감사합니다.이 코드는 완벽하게 작동합니다. – Nitish

관련 문제