2012-11-23 3 views
1

사용자 생년월일을 일, 월 또는 연도로 변경할 수 있도록 상당히 복잡한 속성 바인딩을 사용하고 있습니다. 사용자에 date 유형의 attr birthDate이 있고 각 날짜에 대해 3 개의 속성이 있습니다. 날짜 조작을 단순화하기 위해 moment.js을 사용하고 있습니다.Ember 복합 속성 바인딩

reduced showcase on jsfiddle을 시도하면 연도 나 날을 변경하면 항상 1이 증가한다는 것을 알 수 있습니다. 무슨 일이 일어 났는지 말할 수 없습니다. 바로 이것 : 새 날짜를 설정할 때 값이 정확하고 나중에 변경됩니다. ember-data date 속성 및 일부 포맷에 문제가 있습니까?

다시 : here's the jsfiddle- CoffeeScript으로 작성되었습니다.

미리 감사드립니다.

답변

3

코드를 살펴본 결과 코드가 잘 작동해야하는 것처럼 보였습니다. 문제가 발견되지 않으면 화가 나서 더 많은 것을 얻었습니다 ... .month() 메소드가 나타납니다. Moment.js ... from the docs에서 :

"실험을 변경 월 변경하여 원래의 순간은 0 11까지 번호를 받아들입니다."

예쁜 벙어리 응? 어떤 경우에는 .month()를 사용할 때 값에서 1을 뺀 값을 변경하십시오.

setMonth: (property, value) -> 
    @set property, moment(@get(property)).month(value-1).format() 
    return value 
+0

와우 - f ***는 무엇입니까? 그것은 오히려 순간의 버그처럼 느껴집니다 .js,하지만 당신 말이 맞아요 - 그런 문서화되어 작동합니다 :) 당신의 노력에 감사드립니다! – pex