ember.js - 使用带有 Ember Data 2.0 的 Fixture Adapter 在模型上进行 Store.findAll

标签 ember.js ember-data

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

我有基于夹具适配器的模型。但是当我在模型上执行 store.findAll(modelName) 时,我收到以下错误“TypeError:serializer.normalizeResponse 不是函数 在 ember$data$lib$system$store$serializer$response$$normalizeResponseHelper "

型号

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;

适配器

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 is not a function at ember$data$lib$system$store$serializer$response$$normalizeResponseHelper (http://localhost:4201/assets/vendor.js:66323:43) at http://localhost: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) at http://localhost:4201/assets/vendor.js:66626:15 at tryCatch (http://localhost:4201/assets/vendor.js:59683:14) at invokeCallback (http://localhost:4201/assets/vendor.js:59698:15) at publish (http://localhost:4201/assets/vendor.js:59666:9) at http://localhost:4201/assets/vendor.js:39006:7 at Queue.invokeWithOnError (http://localhost:4201/assets/vendor.js:10395:18)

最佳答案

FixtureAdapter 已在 2015 年 6 月 5 日发布的 Ember Data 1.0b19 中被弃用。这一点在一些地方被注意到,教程还没有跟上:

来源:

作为 FixtureAdapter 的替代方案,您可以使用 Ember Mirage它扮演相同的角色,同时还提供一些其他功能。

关于ember.js - 使用带有 Ember Data 2.0 的 Fixture Adapter 在模型上进行 Store.findAll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32366902/

相关文章:

javascript - Emberjs 过滤器内容以空白内容开头

ember.js - 是否应该在模型或 Controller 中声明计算属性?

ember.js - 在 PUT 请求中包含响应时,Ember Data 重新加载关联

ember.js - RESTAdapter : how to create resources with nested path

javascript - Ember 在模型上找不到 find() 方法

ember.js - 有没有办法使用 emberjs 创建登录/注册而不需要任何插件?

javascript - 可重用的 ember 组件,具有自己的数据源

javascript - 在 Sails.js 上获取请求 Ember.js

javascript - Ember 数据映射

Ember.js:如何使用多个参数查询记录?