【问题标题】:Store.findAll on Model using Fixture Adapter with Ember Data 2.0Store.findAll 在模型上使用带有 Ember Data 2.0 的 Fixture Adapter
【发布时间】:2015-09-03 04:21:06
【问题描述】:

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

我有基于夹具适配器的模型。但是当我在模型上执行 store.findAll(modelName) 时,我收到以下错误“TypeError: serializer.normalizeResponse is not a function 在 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 不是函数 在 ember$data$lib$system$store$serializer$response$$normalizeResponseHelper (http://localhost:4201/assets/vendor.js:66323:43) 在http://localhost:4201/assets/vendor.js:66627:25 在 Object.Backburner.run (http://localhost:4201/assets/vendor.js:9692:25) 在 ember$data$lib$system$store$$Service.extend._adapterRun (http://localhost:4201/assets/vendor.js:71877:33) 在http://localhost:4201/assets/vendor.js:66626:15 在 tryCatch (http://localhost:4201/assets/vendor.js:59683:14) 在调用回调 (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)

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

    FixtureAdapter 已在 2015 年 6 月 5 日发布的 Ember Data 1.0b19 中被弃用。这在少数地方被注意到并且教程尚未跟上:

    来源:

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

    【讨论】:

      【解决方案2】:

      同样在ember-data-fixture-adapter github 页面上,他们建议现在使用 PretenderJS。 https://github.com/pretenderjs/pretender

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-13
        • 1970-01-01
        • 1970-01-01
        • 2023-03-07
        • 1970-01-01
        • 2013-10-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多