[英]Ember data, relationships and JSON
我从API返回以下JSON:
{
"project": [
{
"id": "1",
"name": "My First Project",
"owned_by": "1",
"updated_at": {
"date": "2015-05-06 15:46:27.000000",
"timezone_type": 3,
"timezone": "Europe/London"
},
"created_at": {
"date": "2015-05-06 15:46:27.000000",
"timezone_type": 3,
"timezone": "Europe/London"
}
}
],
"subscriptions": [
{
"id": "10",
"output": "Hello World",
"project_id": "1",
"owned_by": "1",
"updated_at": {
"date": "2015-05-06 16:56:40.000000",
"timezone_type": 3,
"timezone": "Europe/London"
},
"created_at": {
"date": "2015-05-06 16:56:40.000000",
"timezone_type": 3,
"timezone": "Europe/London"
}
}
]
}
我有以下模型:
project.js
import DS from 'ember-data';
export default DS.Model.extend({
name: DS.attr('string'),
ownedBy: DS.attr('string'),
subscriptions: DS.hasMany('subscription')
});
subscription.js
从“ ember-data”导入DS;
export default DS.Model.extend({
input: DS.attr('string'),
projects: DS.belongsTo('project'),
});
数据已成功从API返回,我可以获得项目的详细信息,但似乎无法获得关系的数据。 使用ember检查器会在“数据”选项卡中显示数据,但是当我尝试使用{{#each item in model.subscription}}
遍历这些数据时,不会返回任何内容。
您的项目json没有对其订阅的任何引用。 项目json上应该有一个ID数组,每个ID与订阅ID有关。
下面的示例代码来自emberjs.com,但在您的案例中将项目替换为帖子,并订阅以发表评论
{
"post": {
"id": 1,
"title": "Node is not omakase",
"comments": [1, 2, 3]
},
"comments": [{
"id": 1,
"body": "But is it _lightweight_ omakase?"
},
{
"id": 2,
"body": "I for one welcome our new omakase overlords"
},
{
"id": 3,
"body": "Put me on the fast track to a delicious dinner"
}]
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.