ember: 实例初始化器中的 pushPayload 错误

ember: pushPayload error in instance initializer

我正在尝试在 init 上预加载我的 cart 模型,但出现错误

TypeError: cart.pushPayload is not a function

我知道不是所有的序列化器都有这个功能,但是我使用的序列化器(RESTSerializer)有。我的 application.js 序列化程序是:

import DS from 'ember-data';
export default DS.RESTSerializer.extend({});

cart.js 的实例初始化程序是:

import Ember from 'ember';

export function initialize(appInstance) {
    let CartService = appInstance.factoryFor('service:cart');

    let payload = {
        "cart": [{
            "id": "S5339",
            "quantity": 1,
            "itemPrice": 129.95
        }, {
            "id": "BLK1642",
            "quantity": 1,
            "itemPrice": 55
        }, {
            "id": "TDS9004",
            "quantity": 5,
            "itemPrice": 99.95
        }]
    };
    let cart = CartService.create();
    cart.pushPayload(payload);

    appInstance.register('cart:main', cart, { instantiate: false });
    appInstance.inject('controller', 'cart', 'cart:main');
    appInstance.inject('component', 'cart', 'cart:main');
}

export default {
    name: 'cart',
    initialize
};

目前我使用的是静态数据,但是 if/when 我可以正常工作 我将使用 ember-network 进行网络请求。

但我正在深入探究为什么我无法 pushPayload 工作。任何帮助表示赞赏!

好吧,我想我明白了。 pushPayload 不是内置函数。它需要是我的 services/cart.js 中的一个函数,用于处理将记录推送到商店