ember data 2.3.x如何使用jsonapi获取元数据

时间:2016-02-16 07:29:31

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

  

DEBUG:-------------------------------
  调查:恩伯:2.3.0
  调查:Ember数据:2.3.1
  DEBUG:jQuery:2.1.4
  DEBUG:Ember Simple Auth:1.0.0
  DEBUG:-------------------------------

我的服务器端使用jsonapi发送数据,如下所示:

  data: [{  
   ... ,  
   1: {  
     attributes: {  
       id: '123',  
       ... ,   
       meta: {  
         price_total: {  
           datasets: ... ,  
           labels: ...  
         }  
       }  
     }  
   },  
   ...  
 }]

我查看了文档https://guides.emberjs.com/v2.3.0/models/handling-metadata/,检查以获取模板中的元数据。

 {{#each model as |fittingItem index|}}  
   ...  
   {{fittingItem.meta}}  
   ...  
 {{/each}}

我无法获得meta。

我发现了一些问题https://github.com/emberjs/data/issues/2905https://github.com/emberjs/data/issues/3419。他们也无法解决我的问题。

也许有更好的方法来解决这个问题?

2 个答案:

答案 0 :(得分:2)

元数据(与JSONAPI相关)目前仅在Ember-Data中支持数据集合,应定义为顶级文档密钥。

http://jsonapi.org/format/#document-top-level

您尝试实现的目标是每个单独记录的某种级别的元数据,如果您在模型定义上定义自定义元属性,则可以实现。

fooMeta: DS.attr()

使用空attr()允许ember-data让任何从json到#34的值都通过"到你的模型没有任何转换..(虽然你也可以定义一个自定义转换来稍微调整你的元数值......)

还有一个插件ember-data-model-fragments,可能有助于定义任意"块"您的模型中的数据。

答案 1 :(得分:0)

以下post声明如何重新打开DS.Model以通过find / save / destroyRecord来解析来自调用阶段的元数据,这些操作按其性质操纵单个实例,