Ho un'app in cui utilizzo la direttiva ngCart per archiviare gli articoli aggiunti a un carrello. Il problema è che questa direttiva ha solo la funzionalità di inviare le informazioni sugli elementi aggiunti dall'utente, ma avrei anche bisogno di inviare alcune informazioni che otterrei da un modulo.Angular JS - Invio di dati da una direttiva a un controllore genitore
Quindi, per inviarlo in un singolo oggetto, è necessario prima estrarre i dati memorizzati nella direttiva nel mio ambito principale e quindi unirli ai dati che ottengo dal modulo.
Per questo ho bisogno di modificare la direttiva ngCart.js
. Ho provato a creare un servizio, come consigliato here, ma non riesco a farlo funzionare. Il codice ho aggiunto alla direttiva è questo
.service('ngCartData', ['ngCart', function(ngCart){
return {
data:ngCart;
};
}])
, ma ottengo un errore che dice Module 'ngCart' is not available!
Sono totalmente nuovo per i servizi e le fabbriche in angolare, quindi non so esattamente dove cercare per farlo funzionare. Ho creato un codice plunkr con il mio codice (ho provato a modificare il file ngCart.js
con il codice sopra, ma il plunkr mostra la direttiva senza alcuna modifica). Devo solo essere in grado di inviare i dati memorizzati nella direttiva nello scope ngCart in modo che io possa ascoltarlo nel controller genitore (vedere la sezione checkout nel plunkr).
Qualsiasi aiuto sarebbe molto apprezzato. Grazie!
Ho provato y la nostra seconda opzione, ma non sembro poter accedere ai dati (vedi plunkr aggiornato http://plnkr.co/edit/EVduknBjgfMouQDKnv2X?p=preview) Se riesce a farlo funzionare in questo modo, lo contrassegnerò corretto come non modifica il codice della direttiva. – Joe82
Puoi dirmi cosa esattamente non stava funzionando? Hai ricevuto un errore? Non definito? ... – dror
Controllare checkoutdata.html, quando provo ad accedere a {{ngCart.totalCost()}} non vengono visualizzati dati nella vista – Joe82