如何接受模型集合元数据,例如 ember 中的计数?
How to accept model collection metadata, such as count in ember?
在 Ember-CLI 中,如何处理 retrieving/storing 模型集合元数据?
例如,假设我有一个带有一些已定义属性的模型 'user',并且我的路由使用 ember-data 检索用户集合,如下所示:
model: function(params) {
return this.store.findQuery('user', params);
}
});
我的 API 的 JSON 回复看起来像这样:
{ users: [{id: 1, name: 'Bob'}, {id: 2, name: 'Joe'}]}
现在,我想添加分页,这意味着我需要在 API 响应中的某处计算总用户数,因此它看起来像这样:
{ user_count: 5,
users: [{id: 1, name: 'Bob'}, {id: 2, name: 'Joe'}]}
这很简单,但是如何从我的 Ember 控制器访问 user_count?
因此,如果您控制 API,那么您可以使用 Ember 数据(使用 DS.RESTAdapter
)提供的对元数据的内置支持。
如果您 return 来自 API 的以下结构:
{
"users": [{
"id": 1,
"name": "Bob"
},
{
"id": 1,
"name": "Bob"
}],
"meta": {
"user_count": 5
}
}
那么你应该可以使用:
var meta = this.store.metadataFor("users");
并访问 meta.user_count
Ember 指南 (v1.10.0) 中有更多信息:http://guides.emberjs.com/v1.10.0/models/handling-metadata/
如果您不负责 API 您可以使用序列化程序正确格式化元数据。如果您需要更多信息,请告诉我。
在 Ember-CLI 中,如何处理 retrieving/storing 模型集合元数据?
例如,假设我有一个带有一些已定义属性的模型 'user',并且我的路由使用 ember-data 检索用户集合,如下所示:
model: function(params) {
return this.store.findQuery('user', params);
}
});
我的 API 的 JSON 回复看起来像这样:
{ users: [{id: 1, name: 'Bob'}, {id: 2, name: 'Joe'}]}
现在,我想添加分页,这意味着我需要在 API 响应中的某处计算总用户数,因此它看起来像这样:
{ user_count: 5,
users: [{id: 1, name: 'Bob'}, {id: 2, name: 'Joe'}]}
这很简单,但是如何从我的 Ember 控制器访问 user_count?
因此,如果您控制 API,那么您可以使用 Ember 数据(使用 DS.RESTAdapter
)提供的对元数据的内置支持。
如果您 return 来自 API 的以下结构:
{
"users": [{
"id": 1,
"name": "Bob"
},
{
"id": 1,
"name": "Bob"
}],
"meta": {
"user_count": 5
}
}
那么你应该可以使用:
var meta = this.store.metadataFor("users");
并访问 meta.user_count
Ember 指南 (v1.10.0) 中有更多信息:http://guides.emberjs.com/v1.10.0/models/handling-metadata/
如果您不负责 API 您可以使用序列化程序正确格式化元数据。如果您需要更多信息,请告诉我。