我有一个编辑控制器的属性设置器,它以漂亮的格式返回日期并解析用户的输入。只要我不保存模型,它就能正常工作。保存操作会提交除日期之外的所有更改,并将其还原为之前的值。在点击保存按钮之前一切正常,我的意思是当用户输入新的时间时更改日期,但保存操作仅更新直接修改的字段。
为什么保存操作中的模型与setter渲染和修改的模型不同?
App.TaskEditController = Em.ObjectController.extend
dateValue: ((key, value)->
model = @get 'model'
if arguments.length is 1
date = model.get 'date'
return moment(date).format 'YYYY-MM-DD'
newValue = value
# do something with newValue here
model.set 'date', newValue
return newValue
).property 'date'
actions:
save: ->
model = @get 'model'
# model.get 'date' returns previous value
model.save()