2014-09-10 2 views
1

정의되지 않은 상태로 받아 들일 수있는 ng-model setter 메서드는 어떻게 작성할 수 있습니까? 예를 들어, 사용자가 날짜로 설정된 유형의 입력을 비울 때, 각도는 을 새 값으로 전송합니다. 즉, angular.isDefined()은 더 이상 메소드가 getter 또는 setter로 호출되었는지 확인할 수 없습니다. 이 쉽게 해결하기 위해 내가 각도의 문서에 대한 편집을 제안합니다 수정의되지 않은 인수가있는 각도 getter/setter

$scope.user = { 
    name: function (newName) { 
    if (angular.isDefined(newName)) { 
     _name = newName; 
    } 
    return _name; 
    } 
}; 

답변

3

자바 스크립트의 기본 arguments 속성을 사용 :이 문서에 나와 게터/세터 방법의 예입니다. 다음은 예입니다

$scope.user = { 
    name: function (newName) { 
    if (arguments.length > 0) { 
     _name = newName; 
    } 
    return _name; 
    } 
}; 
1

인수 내장 된 모든 자바 스크립트 함수 호출에 포함 된 객체 arguments 단지 배열. (w3schools) arguments > 0으로 이름을 기준으로 배열을 0과 비교하면 false이됩니다. 배열 길이와 비교해야합니다.

$scope.user = { 
    name: function (newName) { 
     if (arguments.length > 0) { 
      _name = newName; 
     } 
     return _name; 
    } 
};