ember:实例初始化程序

时间:2017-04-22 15:49:09

标签: ember.js ember-data

我正在尝试在init上预加载cart模型并收到错误

TypeError: cart.pushPayload is not a function

我知道并非所有序列化程序都具有此功能,但我使用的是(RESTSerializer)。我的application.js序列化器是:

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

cart.js的instance-initializer是:

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
};

目前我正在使用静态数据,但如果/当我开始工作时,我将使用ember-network进行网络请求。

但是,为了不能让pushPayload工作,我要走下兔子洞。任何帮助表示赞赏!

1 个答案:

答案 0 :(得分:0)

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