camelCased模型名称

Ale*_*uer 2 ember.js ember-data

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

我有这样的模型:

var attr = DS.attr;

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

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

Mil*_*Joe 8

弃用通知:这个答案是从2013年开始的,直到现在还没有提及.这并不反映JSON API Adapter,而是Ember-Data的RESTAdapter.

Ember.js依赖于命名约定,并且它希望将多字骆驼案例(例如firstName)模型属性映射到first_nameJSON响应上的多字 - 下划线 - 小写 - 属性(例如).如果你的JSON给你firstName,或者你控制后端API 的场景中没有这个约定的任何东西,你可以选择定义一个map告诉你的适配器在JSON响应和地图中查找特定键的选项.它是给定模型中的属性.

你可以这样做:

DS.RESTAdapter.map('App.User', { 
    firstName: { key: 'firstName' },
    lastName: { key: 'familyName' }
});
Run Code Online (Sandbox Code Playgroud)

请注意,在上面的示例中,我添加了一个lastName不属于您自己模型的属性.我这样做只是为了说明你可以同时映射多个属性,它在JSON响应中的名称可以是任何东西,不一定是不同外壳中的同名.