Ember.js I';我在余烬js中保存日期时遇到问题

Ember.js I';我在余烬js中保存日期时遇到问题,ember.js,Ember.js,我在使用ember输入帮助程序时保存日期时遇到问题。 我创建了这个jsbin来显示问题: 当我保存对记录的更改时,日期设置为{} 保存日期输入的正确方法是什么? 谢谢 JB 让它工作得更好 属性(“日期”)使用DateTransform序列化/反序列化仅在将数据从一个源传输到另一个源时应用。这就是说,当您将日期字段绑定到文本字段时,您正在将其转换为字符串,正如您在下面的转换中所看到的,当它尝试序列化此字段时,它将注意到它不是日期实例,并且将返回null DS.DateTransform = D

我在使用ember输入帮助程序时保存日期时遇到问题。 我创建了这个jsbin来显示问题:

当我保存对记录的更改时,日期设置为{} 保存日期输入的正确方法是什么? 谢谢 JB

让它工作得更好

属性(“日期”)使用
DateTransform
<代码>序列化/
反序列化
仅在将数据从一个源传输到另一个源时应用。这就是说,当您将日期字段绑定到文本字段时,您正在将其转换为字符串,正如您在下面的转换中所看到的,当它尝试序列化此字段时,它将注意到它不是日期实例,并且将返回null

DS.DateTransform = DS.Transform.extend({

  deserialize: function(serialized) {
    var type = typeof serialized;

    if (type === "string") {
      return new Date(Ember.Date.parse(serialized));
    } else if (type === "number") {
      return new Date(serialized);
    } else if (serialized === null || serialized === undefined) {
      // if the value is not present in the data,
      // return undefined, not null.
      return serialized;
    } else {
      return null;
    }
  },

  serialize: function(date) {
    if (date instanceof Date) {
      // Serialize it as a number to maintain millisecond precision
      return Number(date);
    } else {
      return null;
    }
  }

});

您可以创建自己的转换,将字符串解析为日期,也可以将curDate字段固定为日期实例。

好的,我查看了DS.DateTransform,发现它得到了一个“无效日期”的值并返回了null。在curDate被序列化之前,我仍在试图找出在何处/如何将其转换为日期实例。我是否应该将curDate类型更改为string?或者在控制器上创建formattedDate computed属性?或者在模型上?如果要以字符串形式编辑字符串,那么字符串将是最简单的处理方法。此外,您还可以添加一个computed属性,该属性试图将其更改为日期对象,以便在应用程序中使用。谢谢,我使用了字符串。我会在更熟悉余烬之后解决日期问题。我在jsbin上发布了新版本: