camelCased模型名称

时间:2013-03-21 15:48:22

标签: ember.js ember-data

有没有人知道最近是否存在camelcased属性的问题。

我有一个这样的模型:

var attr = DS.attr;

App.Users = DS.Model.extend({
    firstName: attr('string'),
    phone: attr('string'),
    email: attr('string')
});

在我的模板中,电子邮件和手机显示正确,但firstName没有显示。我检查了json文件,一切似乎都没问题。在我的所有其他模型中出现相同的问题, 所以我想它必须对camelCase做一些事情。

1 个答案:

答案 0 :(得分:8)

弃用通知:此答案是从2013年开始的,至今尚未提及。这并不反映JSON API Adapter,而是Ember-Data的RESTAdapter。

Ember.js依赖naming conventions,它希望将多字骆驼案例(例如firstName)模型属性映射到多字下划线分隔小写JSON响应的属性(例如first_name)。如果您的JSON在控制后端API的情况下为您提供firstName或任何不在此约定中的内容,您可以选择定义{{1}告诉你的适配器在JSON响应中查找特定的键并将其映射到给定模型中的属性。

您可以这样做:

map

请注意,在上面的示例中,我添加了DS.RESTAdapter.map('App.User', { firstName: { key: 'firstName' }, lastName: { key: 'familyName' } }); 属性,该属性不属于您自己的模型。我这样做只是为了明确表示你可以同时映射多个属性,它在JSON响应中的名称可以是任何东西,不一定是不同外壳中的相同名称。