2017-04-22 2 views
0

Je suis en train de précharger mon modèle cart sur init et je obtenir l'erreurEmber: erreur dans pushPayload exemple initialiseur

TypeError: cart.pushPayload is not a function 

Je sais que tous les serializers ont cette fonction, mais celui que je me sers (RESTSerializer) fait. Mon sérialiseur application.js est:

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

L'instance-initialiseur pour cart.js est:

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

Pour l'instant j'utilise des données statiques mais si/quand je reçois ce travail je serai faire une requête réseau en utilisant le réseau ember.

Mais je vais dans le trou de lapin sur pourquoi je ne peux pas obtenir pushPayload pour fonctionner. Toute aide appréciée!

Répondre

0

Eh bien, je pense avoir compris cela. pushPayload n'est pas une fonction intégrée. Il doit être une fonction dans mon services/cart.js qui gère la poussée des dossiers dans le magasin