问题1 :为什么需要将ember-data revision 11作为属性名称的下划线版本?
问题2 :如果属性名称相同(没有下划线),这是一个问题吗?
Ember-Link :http://emberjs.com/guides/models/the-rest-adapter/
模型
App.Person = DS.Model.extend({
firstName: DS.attr('string'),
lastName: DS.attr('string'),
isPersonOfTheYear: DS.attr('boolean')
});
JSON
{
"person": {
"first_name": "Barack",
"last_name": "Obama",
"is_person_of_the_year": true
}
}
映射
App.Person = DS.Model.extend({
lastName: DS.attr('string')
});
DS.RESTAdapter.map('App.Person', {
lastName: { key: 'lastNameOfPerson' }
});
感谢所有响应者! :)
答案 0 :(得分:3)
问题1 :它是JS中的一种惯例,具有驼峰式属性。 有关JSON有效内容,请参阅此JSON Naming Convention
不确定理解你的第二个问题。
<强>问题2:强>
如果您想保留JSON格式,您可以在序列化程序代码中解释2个选项https://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/serializer.js#L58
map
API keyForAttributeName
在您的情况下,您可能希望拥有继承自RESTSerializer
的自己的序列化程序。见https://github.com/emberjs/data/blob/master/packages/ember-data/lib/serializers/rest_serializer.js#L4
keyForAttributeName
只会返回字符串。