Ember JsonApi 序列化覆盖 normalizeResponse。如何解释参数
Ember JsonApi Serialize override normalizeResponse. How to interpret the parameters
我在 Ember.js 中使用 JsonApiSerializer,我想覆盖标准行为。我希望某些型号的行为有所不同。因此,我想检查参数 primaryModelClass 以确定模型类型,但如何解释该参数?我试图检查它,但我得到的只是 "unknown mixin".
我看过这里的文档:
我有这段代码
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。
所以文档对此不是很清楚,但你已经很接近了:
您需要使用 primaryModelClass.modelName
它将 return 模型名称的字符串。
但是,这可能不是您想要的方法。对于您需要的操作类型,有更具体的方法:normalize<storeMethod>Response
:即。 normalizeQueryResponse
。
如果您需要针对特定模型进行特定转换,您也可以生成特定于模型的序列化程序。因此,您可以通过 运行 ember generate serializer post
为 post
模型创建一个不同于 comment
模型的序列化程序
我在 Ember.js 中使用 JsonApiSerializer,我想覆盖标准行为。我希望某些型号的行为有所不同。因此,我想检查参数 primaryModelClass 以确定模型类型,但如何解释该参数?我试图检查它,但我得到的只是 "unknown mixin".
我看过这里的文档:
我有这段代码
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。
所以文档对此不是很清楚,但你已经很接近了:
您需要使用 primaryModelClass.modelName
它将 return 模型名称的字符串。
但是,这可能不是您想要的方法。对于您需要的操作类型,有更具体的方法:normalize<storeMethod>Response
:即。 normalizeQueryResponse
。
如果您需要针对特定模型进行特定转换,您也可以生成特定于模型的序列化程序。因此,您可以通过 运行 ember generate serializer post
post
模型创建一个不同于 comment
模型的序列化程序