【问题标题】:Ember JsonApi Serialize override normalizeResponse. How to interpret the parametersEmber JsonApi 序列化覆盖 normalizeResponse。如何解释参数
【发布时间】:2018-04-28 19:06:51
【问题描述】:

我在 Ember.js 中使用 JsonApiSerializer,我想覆盖标准行为。我希望某些模型的行为有所不同。因此,我想检查参数 primaryModelClass 以确定模型类型,但是如何解释该参数?我试图检查它,但我得到的只是“未知的 mixin”。

我在这里查看了文档:

https://emberjs.com/api/ember-data/3.0/classes/DS.JSONAPISerializer/methods/normalizeResponse?anchor=normalizeResponse

我有这段代码

import DS from 'ember-data';
export default DS.JSONAPISerializer.extend({
    normalizeResponse: function(store, 
                                primaryModelClass, 
                                payload, id, requestType) {
    console.log(primaryModelClass.toString());
...

它输出(unknown mixin)

如何在 normalizeResponse 方法中找到模型类型?

我使用 Ember 3.0。

【问题讨论】:

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


    【解决方案1】:

    所以文档不是很清楚,但你已经很接近了:

    您需要使用primaryModelClass.modelName,它将返回模型名称的字符串。

    https://www.emberjs.com/api/ember-data/3.0/classes/DS.JSONAPISerializer/methods/normalizeResponse?anchor=normalizeResponse

    但是,这可能不是您想要的方法。对于您需要的操作类型,还有更具体的方法:normalize<storeMethod>Response:即。 normalizeQueryResponse

    如果您需要对特定模型进行特定转换,您也可以生成特定于模型的序列化程序。因此,您可以通过运行ember generate serializer post 为您的post 模型创建与comment 模型不同的序列化程序

    【讨论】:

      猜你喜欢
      • 2017-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-28
      • 1970-01-01
      • 2012-09-29
      • 1970-01-01
      相关资源
      最近更新 更多