2017-04-17 32 views
1

下面是代碼,試圖一旦結果被返回true歇發出

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

絕對天才,工作就像一個魅力。謝謝@Tushar – Mithun