Serialization 尝试扩展JSONSerializer时未定义get

Serialization 尝试扩展JSONSerializer时未定义get,serialization,ember.js,ember-data,Serialization,Ember.js,Ember Data,我试图通过扩展DS.JSONSerialzer来定义自定义序列化程序 我选择serialize函数时没有进行任何修改,但在运行Ember时,出现以下错误: ReferenceError:未定义get 这是我的代码: import DS from 'ember-data'; export default DS.JSONSerializer.extend({ serialize: function(record, options) { var json = {};

我试图通过扩展DS.JSONSerialzer来定义自定义序列化程序

我选择serialize函数时没有进行任何修改,但在运行Ember时,出现以下错误:

ReferenceError:未定义get

这是我的代码:

import DS from 'ember-data';

export default DS.JSONSerializer.extend({
    serialize: function(record, options) {
        var json = {};
        if (options && options.includeId) {
            var id = get(record, 'id');
            if (id) {
                json[get(this, 'primaryKey')] = id;
            }
        }

        record.eachAttribute(function(key, attribute) {
            this.serializeAttribute(record, json, key, attribute);
        }, this);
        record.eachRelationship(function(key, relationship) {
            if (relationship.kind === 'belongsTo') {
                this.serializeBelongsTo(record, json, relationship);
            } else if (relationship.kind === 'hasMany') {
                this.serializeHasMany(record, json, relationship);
            }
        }, this);
        return json;
    },
});
我没有更改任何代码。这是原件。为什么get突然没有定义?它在原始文件的第1行中导入


您能帮助我吗?

他们在创建序列化程序时在作用域中定义了
get
,但这不会超出他们的作用域扩展到您的文件中

var get = Ember.get;
var isNone = Ember.isNone;
var map = Ember.ArrayPolyfills.map;
var merge = Ember.merge;
Ember.get
替换所有
get
方法,或者将
get
定义为
Ember.get