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
中的一个函数,用于处理将记录推送到商店
我正在尝试在 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
中的一个函数,用于处理将记录推送到商店