Mam aplikację, w której używam dyrektywy ngCart w celu przechowywania produktów dodanych do koszyka. Problem polega na tym, że ta dyrektywa ma jedynie funkcję wysyłania informacji o przedmiotach dodanych przez użytkownika, ale potrzebowałabym również wysłać pewne informacje, które dostałbym z formularza.Angular JS - Przesyłanie danych z dyrektywy do kontrolera nadrzędnego
Aby wysłać go do pojedynczego obiektu, najpierw muszę wyodrębnić dane zapisane w dyrektywie do mojego głównego zakresu, a następnie połączyć je z danymi, które otrzymuję z formularza.
W tym celu należy zmodyfikować dyrektywę ngCart.js
. Próbowałem wykonać usługę, zgodnie z zaleceniami here, ale nie udało mi się jej uruchomić. Kod dodałem do tej dyrektywy jest to
.service('ngCartData', ['ngCart', function(ngCart){
return {
data:ngCart;
};
}])
, ale pojawia się błąd mówiący Module 'ngCart' is not available!
Jestem zupełnie nowy w serwisie i fabryk w kanciasty, więc nie wiem dokładnie, gdzie szukać aby to działało. Zrobiłem plunkr z moim kodem (próbowałem zmodyfikować plik ngCart.js
powyższym kodem, ale plunkr pokazuje dyrektywę bez żadnych modyfikacji). Po prostu muszę mieć możliwość przesłania danych zapisanych w dyrektywie w zakresie ngCart, aby móc go odsłuchać w kontrolerze nadrzędnym (patrz sekcja kasy w plunkr).
Każda pomoc będzie mile widziana. Dzięki!
Próbowałem y nasza druga opcja, ale wydaje mi się, że nie mogę uzyskać dostępu do danych (zobacz zaktualizowany plunkr http://plnkr.co/edit/EVduknBjgfMouQDKnv2X?p=preview) Jeśli może to działać w ten sposób, zaznaczę to tak poprawny, jak nie zmienia kodu dyrektywy. – Joe82
Czy możesz mi powiedzieć, co dokładnie nie działa? Czy pojawił się błąd? Niezdefiniowane? ... – dror
Sprawdź checkoutdata.html, gdy próbuję uzyskać dostęp do {{ngCart.totalCost()}} nie pojawia się żadnych danych w widoku – Joe82