【问题标题】:ember js get meta informations from jsonember js 从 json 获取元信息
【发布时间】:2016-10-05 08:21:07
【问题描述】:

我有一个来自我的服务器的 json 数据:

{
  "post": {
    "id": 1,
    "title": "Progressive Enhancement is Dead",
    "comments": ["1", "2"],
    "links": {
      "user": "/people/tomdale"
    }
  },

  "meta": {
    "total": 100
  }
}

看起来完全像文档 (https://guides.emberjs.com/v2.5.0/models/handling-metadata/) 我尝试获取元对象但没有成功

export default Ember.Route.extend({
  model() {
    var data = this.store.findAll('post');
    data.then((result) => {
      let meta = result.get('meta');
      console.log(meta); //this return me undefined
    })
    return data;
  }
});

【问题讨论】:

  • 你用的是什么版本的 Ember?
  • 最新版本2.5.1
  • github.com/emberjs/data/issues/3419 看起来这对于一个记录元是不可能的,在我看来你只有一个帖子,也许这就是问题所在。
  • 不,我只删除了示例的一些记录,它讨论了一些不同的问题,我直接从文档中获得了我的示例,所以你认为这是一个 ember 错误或它来自我的代码?
  • 我不确定,您的代码看起来不错,但我怀疑这是 Ember 错误。我看到的唯一区别是他们在文档中使用 store.query() 而您使用的是 findAll。

标签: javascript ember.js ember-data json-api


【解决方案1】:

您正在使用 findAll 方法,它不支持元数据。如果你想获得多个带有元数据的帖子,你应该使用this.store.query('post', {/*params*/}) 方法。

【讨论】:

  • 好的,谢谢你是对的,但我不明白为什么我不能使用 findAll 方法 (guides.emberjs.com/v2.4.0/models/finding-records) 这对我来说有点模棱两可
  • 我猜原因是,ember 期望在执行 findAll 时从 API 返回所有内容,因此不需要任何元数据。但这只是一个猜测,可以向我解释这种行为。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-22
  • 2012-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多