我在Ember.js中使用JsonApiSerializer,我想覆盖标准行为。我希望某些模型的行为不同。因此,我想检查参数primaryModelClass以确定模型类型,但如何解释该参数?我试图检查它,但我得到的只是"未知的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。
答案 0 :(得分:1)
所以文档在这方面并不是很清楚,但你非常接近:
您需要使用primaryModelClass.modelName
,它将返回模型名称的字符串。
但是,这可能不是您想要的方法。您需要的操作类型有更具体的方法:normalize<storeMethod>Response
:即。 normalizeQueryResponse
。
如果您需要特定模型的特定转换,您也可以生成特定于模型的序列化器。因此,您可以通过运行post
comment
模型创建与ember generate serializer post
模型不同的序列化程序