gpt4 book ai didi

ember.js - Ember-data 转换不适用于 ember-cli

转载 作者:行者123 更新时间:2023-12-04 08:26:14 25 4
gpt4 key购买 nike

项目设置:

  • Ember:2.0.0
  • Ember 数据:2.0.0
  • Ember-cli:1.13.8

我创建了一个转换:转换/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 的新转换对此进行了测试,我得到了完全相同的行为,转换没有被调用。

在 ember 2.0 中是否发生了某些更改,而这些更改尚未在文档上更新,导致上述内容无法正常工作?

最佳答案

转换仍然适用于 ember-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');
})
});

关于ember.js - Ember-data 转换不适用于 ember-cli,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32765180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com