Ember.js:如何从store.findRecord调用访问JSON API元数据

Sar*_*rus 6 ember.js ember-data json-api

我目前正试图弄清楚如何在使用store.findRecord()呼叫时访问元数据.

在指南(http://guides.emberjs.com/v2.1.0/models/handling-metadata/)中,它表示可以通过执行以下操作来访问元数据:

store.query('post').then((result) => {
  let meta = result.get('meta');
})
Run Code Online (Sandbox Code Playgroud)

我希望这会利用工作时findRecord

store.findRecord('book', params.id, {adapterOptions: {query: params}}).then((result) => {
    let meta = result.get('meta');
})
Run Code Online (Sandbox Code Playgroud)

但是,这始终为meta属性返回undefined .我假设在使用时没有设置元数据findRecord.我返回有效的JSON-API meta,其顶级属性如下:

{
  "meta": {
    "page": {
      "number": 1,
      "size": 100,
      "total": 20
    },
   "data":[
       // data here
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在使用findRecord()和JSONAPISerializer和JSONAPIAdapters时访问服务器返回的元数据?

谢谢!

我使用以下版本:

Ember             : 2.1.0
Ember Data        : 2.1.0
jQuery            : 1.11.3
Run Code Online (Sandbox Code Playgroud)

Pav*_*vol 2

store.query()元数据不支持按记录计算,如果您使用或在获取关系时,您可以计算它们是否可用。引用:

目前,Ember Data 仅了解查询和关系的顶级元对象(通过相关链接)。

请查看以下 github线程以获取更多信息。

  • 仅供参考,我在这里发布了一种可以完成此操作的方法:http://stackoverflow.com/questions/35514055/how-to-access-top-level-meta-key-from-json-api-servers-200-response-当呼叫/38312846#38312846 (2认同)