有没有人知道最近是否存在camelcased属性的问题。
我有一个这样的模型:
var attr = DS.attr;
App.Users = DS.Model.extend({
firstName: attr('string'),
phone: attr('string'),
email: attr('string')
});
在我的模板中,电子邮件和手机显示正确,但firstName没有显示。我检查了json文件,一切似乎都没问题。在我的所有其他模型中出现相同的问题, 所以我想它必须对camelCase做一些事情。
答案 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响应中的名称可以是任何东西,不一定是不同外壳中的相同名称。