也许我忽略了一些东西,但我无法弄清楚我应该怎么做

我有一个来自服务器的 JSON 看起来像这样

{
  "articles": [
    {
      "user": {
        "name": "user",
        "username": "user",
        "_id": "52755cba74a1fbe54a000002"
      },
      "_id": "5275698c53da846e70000001",
      "__v": 0,
      "content": "content",
      "title": "title",
      "created": "2013-11-02T21:07:24.554Z"
    }
  ]
}

在模板中,我正在访问内容并创建得很好,但是当我尝试获取 user.name 时,没有任何结果:
    {{#each article in model}}
        <span>{{ article.title }}</span>
        <span>by {{ article.user.name }}</span>
        <span>{{ article.created }}</span>
    {{/each}}

我注意到在模型中,我没有定义的任何东西都不会出现在模板中,所以它看起来像这样:
title: DS.attr('string'),
content: DS.attr('string'),
created: DS.attr('date')

但是当我尝试添加时:
user: {
       name: DS.attr('string')
}

为了匹配嵌套的 json,我收到一个错误。

ember 无法处理嵌套的 json 吗?如果是,那又如何?

谢谢。

最佳答案

这可能是支持嵌入式文档的最简单方法(如果您不想更改 JSON):

App.ArticleSerializer = DS.ActiveModelSerializer.extend(DS.EmbeddedRecordsMixin, {
  attrs: {
    user: {embedded: 'always'}
  }
})

请参阅: http://emberjs.com/api/data/classes/DS.EmbeddedRecordsMixin.html 。不过我还没有测试过!

关于ember.js - 如何使用 ember 处理嵌套的 json 响应?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20823019/

10-11 12:42
查看更多