Ember:序列化任意哈希键名称

时间:2018-05-03 09:18:47

标签: ember.js ember-data

在我的Weekly-Prod Night to monday + 7days Weekly Night to monday Nightly Night to current day Latest Whenever a build has completed it will install and restart the node 中,我有一个任意散列(model),其属性以dasherized方式返回。例如,

DS.attr()

我希望密钥名称是camelCased。我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:0)

您可以(并且应该)为您的数据请求使用自定义序列化程序。

例如:

$ ember g serializer application

创建:

app/serializers/application.js

如果服务器返回的属性使用不同的约定,则可以使用序列化程序的keyForAttribute()方法将模型中的属性名称转换为JSON有效内容中的键。

在你的情况下,如果你的后端返回的是dasherized而不是camelCased的属性,你可以像这样覆盖keyForAttribute方法。

// app/serializers/application.js

import { camelize } from '@ember/string';
import DS from 'ember-data';

export default DS.JSONAPISerializer.extend({
  keyForAttribute(attr) {
    return camelize(attr);
  }
});

您可以在Ember Models Reference

找到更多信息

答案 1 :(得分:-1)

是的,您可以写下custom transform

ember-cli中使用ember g transform my-custom-transform

然后你写DS.attr('my-custom-transform')