首页 文章

Store.findAll on Model使用Fixture Adapter和Ember Data 2.0

提问于
浏览
2

目前,我们正在升级我们的项目以使用Ember 2.0和Ember Data 2.0 .

我有基于夹具适配器的型号 . 但是当我在模型上做 store.findAll(modelName) 时,我得到以下错误"TypeError: serializer.normalizeResponse is not a function at ember$data$lib$system$store$serializer$response$$normalizeResponseHelper "

Model

import DS from 'ember-data';
import FixtureData from '<from somewhere>';
var Model = DS.Model.extend({
    code: DS.attr('string'),
    description: DS.attr('string')
});
Model.reopenClass({
    FIXTURES: FixtureData
});
export default Model;

Adapter

import DS from 'ember-data';
export default DS.FixtureAdapter.extend({
    queryFixtures: function (records, query) {
        return records.filter(function (record) {
            for (var key in query) {
                if (query.hasOwnProperty(key)) {
                    if (record[key] !== query[key]) {
                        return false;
                    }
                }
            }
            return true;
        });
    }
});

错误堆栈

TypeError:serializer.normalizeResponse不是函数在ember $ data $ lib $ system $ store $ serializer $ response $$ normalizeResponseHelper(http:// localhost:4201 / assets / vendor.js:66323:43)at http:/ /lhosthost:4201/assets/vendor.js:66627:25 at Object.Backburner.run(http:// localhost:4201 / assets / vendor.js:9692:25)at ember $ data $ lib $ system $ store $ $ Service.extend._adapterRun(http:// localhost:4201 / assets / vendor.js:71877:33)位于http:// localhost:4201 / assets / vendor.js:66626:15 at tryCatch(http:// localhost:4201 / assets / vendor.js:59683:14)发布时调用invokeCallback(http:// localhost:4201 / assets / vendor.js:59698:15)(http:// localhost:4201 / assets / vendor . js:59666:9)在http:// localhost:4201 / assets / vendor.js:39006:7在Queue.invokeWithOnError(http:// localhost:4201 / assets / vendor.js:10395:18)

2 回答

相关问题