我有以下路线:
this.resource('users', { path: '/'});
以下两个ember模型:用户和 meta
当我转到上面的路线时,使用覆盖模型函数加载用户数组:
model: function() {
return this.store.findAll('user');
},
服务器返回以下JSON:
{
"users" : [ {
"id" : "ab650b0d-bea7-4619-a3fd-95f4c7bfd722",
"firstName" : "Shivam",
"lastName" : "Sinha",
"username" : "shiv",
"gender" : "M",
"contactdetails" : [ {
"id" : "fb5c9345-037e-4a57-9801-2b260b9b15fa",
"name" : "Shiv",
"type" : "PRIMARY_EMAIL",
"value" : "ssdfsdfa@outlook.com",
"userExist" : true,
"isVerified" : false
} ]
} ],
"meta" : {
"sort" : "id: ASC",
"size" : 20,
"number" : 0,
"totalPages" : 1,
"numberOfElements" : 1,
"totalElements" : 1,
"firstPage" : true,
"lastPage" : true
}
}
用户模型被正确反序列化并作为余烬模型加载。然而,元模型被忽略。我怎样才能将元模型正确加载为ember模型而不必实际单独请求?
答案 0 :(得分:1)
从您的示例看,您似乎正在尝试解析元数据,而不是一次实际加载两个模型。
请查看此处了解有关如何处理元数据的信息: http://guides.emberjs.com/v1.13.0/models/handling-metadata/
根据您的示例,您可能希望使用以下内容:
var meta = this.store.metadataFor("user");
答案 1 :(得分:0)
Credit @tbjers
有两种方法:
您可以尝试幻灯片加载:http://guides.emberjs.com/v2.0.0/models/the-rest-adapter/#toc_sideloaded-relationships
然而,这是元细节的最佳方法:
http://guides.emberjs.com/v1.13.0/models/handling-metadata/
OR与Ember 2:
http://guides.emberjs.com/v2.0.0/models/handling-metadata/
由于我使用的是ember 1.13.0,我使用了以下方法:
$('#result_table').html(result);