Ember复杂属性绑定

时间:2012-11-23 19:24:55

标签: ember.js momentjs

我正在使用非常复杂的属性绑定来更改用户生日的日期,月份或年份。在用户上具有类型为birthDate的at date,为每个日期具有三个属性。 我使用moment.js来简化日期操作。

通过尝试reduced showcase on jsfiddle,您会看到如果您更改年份或日期,则月份总是增加1.我无法说明发生了什么。就是这样:设置新日期时,值是正确的,稍后会更改。 ember-data date属性和某些格式是否存在问题?

再次:here's the jsfiddle - 用CoffeeScript写的。

提前致谢!

1 个答案:

答案 0 :(得分:3)

我查看了你的代码,它看起来应该工作正常,我越是通过它越多,我越来越生气,我无法发现问题...原来这是.month()方法来自Moment.js ...... from the docs

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

非常愚蠢吧?在任何情况下,当使用.month()

时,将setMonth更改为从值中减去1
setMonth: (property, value) ->
  @set property, moment(@get(property)).month(value-1).format()
  return value