2017-04-17 13 views
1
아래

는 결과가 기대에 따라 절대적으로 잘 작동 사실브레이크는

ngModel.$parsers.unshift(function (viewValue) { 
        let names = scope.vm.names; 

        _.find(names, function (elem) { 
         let name = elem.name; 

         if (name && viewValue) { 
          if (name.toLowerCase() === viewValue.toLowerCase()) { 
           ngModel.$setValidity('unique', false); 
           return true; // break out of this loop 
          } else { 
           ngModel.$setValidity('unique', true); 
          } 
         } 
        }); 
        return viewValue; 
       }); 

코드를 반환하여 발견되면 루프를 깨려고, 코드입니다 발행하지만, 보풀이 같은 오류가 발생합니다 :

× Unnecessary 'else' after 'return'. (no-else-return) 
27 |          ngModel.$setValidity('unique', false); 
28 |          return true; // break out of this loop 
29 |         } else { 
    |          ^
30 |          ngModel.$setValidity('unique', true); 
31 |         } 
32 |        } 

방법이 오류를 억제하거나이를 제거하는 더 나은 코드를 작성하는 방법이 있나요?

답변

3

lint 경고를 해결하려면 아래 코드를 사용하십시오.

if (name && viewValue) { 
    let equal = name.toLowerCase() === viewValue.toLowerCase(); 
    ngModel.$setValidity('unique', !equal); 
    if (equal) { 
     return true; // break out of this loop 
    } 
} 

는 부울 사용되는 unique 상태를 설정하려면이 사실이라면 if에서, true이 반환됩니다.

+0

절대적으로 천재, 매력처럼 일했습니다. 감사합니다 @ 투샤 르 – Mithun