2014-11-10 2 views
1

저는 angularJS를 처음 사용합니다. 현재 저는 현재 날짜의 연도를 추가하는 방법을 원합니다. angularJS를 사용하여 현재 날짜에 년/월/일을 추가하는 방법

는이 전 사용자의 생년월일을 얻을 수 있다고하자 내가 년 + 1 추가 할.

$scope.userdob = $rootScope.user.dob; 
    $scope.userdob.add(1,'years'); 

내가 사용하여 시도

,하지만 작동하지 않습니다.

예를 들어 누구든지이 논리에 대해 알 수 있습니까?

TIA ..

답변

1

그것은 $rootScope.user.dob처럼 보인다는 moment.js 라이브러리에서 moment의 인스턴스입니다. 귀하의 주요 문제는 각도의 변경 감지가이 인스턴스를 변경할 때 감지 할 수 없다고 생각합니다. 인스턴스는 동일하게 유지되지만 내부 기본 날짜 값이 변경되기 때문입니다. 따라서 나는 다음과 같이 제안한다 :

그런 각도로 순간 인스턴스 대신 일반 JavaScript Date 객체가 생기면 변경 감지가 올바르게 작동합니다.

은 참고 당신이 할 수있는 표준 자바 스크립트 날짜 인스턴스와 동일한 달성하기 :

var userdob = new Date(); 
userdob.setYear(userdob.getFullYear() + 1) 

는 올해 발전 1.

+0

angularJS를 사용하는 다른 방법은 무엇입니까? – DIVA

+0

여기에 특별한 angularjs 코드가 필요하지 않습니다. 이것은 기본 자바 스크립트 데이터 유형입니다. 숫자를 2로 나누는 "angularjs way"가없는 것처럼, 날짜를 증가시키기 위해 특별한 angularjs 코드가 필요하지 않습니다. '$ scope.userdob' 날짜 값을 변경하면 각도가 자동으로 변경 사항을 감지하고 뷰를 새 값으로 업데이트합니다. –

+0

자,이 같은 코드를 작성했지만 TypeError 오류가 점점 : userdob.getFullYear 함수가 아닙니다. var userdob = $ rootScope.user.dob; \t \t \t \t \t alert (userdob); \t \t \t \t \t \t userdob.setYear (userdob.getFullYear() +1); \t \t \t \t \t \t \t $ scope.event.when = userdob; – DIVA

0

.setDate() 일을 증가시키고 +1 일 대신에 +365 일을 사용하면 1 년 후에 날짜를 부여 할 수 있습니다.

관련 문제