1

我正在使用相当复杂的属性绑定来更改用户生日的日期、月份或年份。拥有一个用户birthDate类型date的属性和每个日期的三个属性。我正在使用moment.js来简化日期操作。

通过在 jsfiddle 上尝试减少展示,您会发现如果您更改年份或日期,月份总是增加 1。我不能说发生了什么。就是这样:设置新日期时,该值是正确的,稍后会更改。dateember-data属性和某些格式是否存在问题?

再说一遍:这是用CoffeeScript编写的 jsfiddle

提前致谢!

4

1 回答 1

3

我查看了您的代码,它看起来应该可以正常工作,我越是通过它越是恼火我无法发现问题......原来它是 Moment.js 的 .month() 方法...来自文档

“通过更改月份来改变原始时刻。接受从 0 到 11 的数字”

很蠢吧?在任何情况下,当您使用 .month() 时,将您的 setMonth 更改为从值中减去 1

setMonth: (property, value) ->
  @set property, moment(@get(property)).month(value-1).format()
  return value
于 2012-11-24T03:48:02.260 回答