我正在尝试在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
工作,我要走下兔子洞。任何帮助表示赞赏!
答案 0 :(得分:0)
好吧,我想我想出来了。 pushPayload
不是内置函数。它需要是我的services/cart.js
中的一个函数,它处理将记录推送到商店