KOG*_*OGI 4 javascript model-view-controller javascript-framework ember.js ember-data
我有以下JSON(简单示例):
{
id: 101,
firstName: "John",
surname: "Doe"
}
Run Code Online (Sandbox Code Playgroud)
但我希望我的模型可以lastName代替使用surname.这样的事情,也许:
App.Person = DS.Model.extend({
firstName: DS.attr('string'),
lastName: DS.attr('string', { key: 'surname' })
});
Run Code Online (Sandbox Code Playgroud)
我可以发誓我在某个地方看到了如何做到这一点,但对于我的生活,找不到它.我也没有在ember-data源中找到任何明显的东西.
我试过设置key,name,id,alias,并map在属性选项,但没有人可以做的伎俩.有没有办法做到这一点?
您应该可以通过REST适配器执行此操作.该文档包含在Underscored Attribute Names下映射" 不规则键 " 的示例:
可以在适配器上映射不规则键.如果JSON具有密钥
lastNameOfPerson,并且所需的属性名称是简单的lastName,则通知适配器:Run Code Online (Sandbox Code Playgroud)App.Person = DS.Model.extend({ lastName: DS.attr('string') }); DS.RESTAdapter.map('App.Person', { lastName: { key: 'lastNameOfPerson' } });
在你的情况下:
DS.RESTAdapter.map('App.Person', {
lastName: { key: 'surname' }
});
Run Code Online (Sandbox Code Playgroud)
也值得注意的是,Ember期待JSON能够拥有first_name该模型firstName.因此,这可能还需要明确调整.