繁体   English   中英

灰烬数据,关系和JSON

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM