ember-data 中的 JSON 响应不支持额外属性。
唯一受支持的“额外”属性是meta
and since
,例如:
{
meta: {}
since: {}
users: [{...}]
}
稍后可以通过挂钩到extractMeta
序列化程序的函数来提取这些额外的属性,如下所示:
App.CustomRESTSerializer = DS.RESTSerializer.extend({
extractMeta: function(loader, type, json) {
var meta, since;
meta = json[this.configOption(type, 'meta')];
since = json[this.configOption(type, 'since')];
if (!meta || !since) { return; }
Ember.set('App.metaDataForLastRequest', meta);
Ember.set('App.sinceForLastRequest', since);
this._super(loader, type, json);
}
});
App.Store = DS.Store.extend({
adapter: DS.RESTAdapter.create({
serializer: App.CustomRESTSerializer
})
});
IMO,如果可以的话,您应该更改从后端返回的 JSON,并通过定义一个额外的模型来检索额外的数据,并将其绑定到您的User
模型,如hasMany
或belongsTo
使事情正常工作。
希望能帮助到你。