项目设置:
我已经创建了一个转换: transforms/isodate.js
import DS from 'ember-data';
export default DS.Transform.extend({
deserialize: function(serialized) {
serialized = window.moment(serialized).toDate();
if(serialized.toString() === "Invalid Date"){serialized = null}
return serialized;
},
serialize: function(deserialized) {
deserialized = window.moment(deserialized).toISOString();
return deserialized;
}
});并像这样使用它:
import Ember from 'ember';
import DS from 'ember-data';
export default DS.Model.extend({
Forename: DS.attr('string'),
Surname: DS.attr('string'),
Gender: DS.attr('string'),
DOB: DS.attr('isodate'),
});但这一转换并没有得到应用。
我没有收到错误消息,转换中的断点也没有被触发。我已经用一个名为foo的新转换测试了这一点,我得到了完全相同的行为,这个转换没有被调用。
有什么变化,在成员2.0,但尚未更新的文档,将导致上述不工作?
发布于 2015-09-25 21:08:57
转换仍然与成员-cli 2.0+一起工作,下面是我现在在我的应用程序中使用的一个,类似于我正在更改日期格式的您的应用程序:
变换- app/transforms/utc.js
import DS from "ember-data";
import moment from 'moment';
export default DS.Transform.extend({
deserialize: function (value) {
return moment.utc(value);
}
});我的模型- app/models/day.js
import DS from 'ember-data';
import Ember from 'ember';
import moment from 'moment';
export default DS.Model.extend({
year: DS.attr('number'),
date: DS.attr('utc'),
createdAt: DS.attr('date'),
dateSlug: Ember.computed('date', function() {
return moment(this.get('date')).format('MM-DD');
})
});https://stackoverflow.com/questions/32765180
复制相似问题