• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

VueJS - update data za pomocą Axios

Cloud VPS
0 głosów
1,046 wizyt
pytanie zadane 5 września 2018 w C i C++ przez Matt_Z Nowicjusz (150 p.)
Tworzę aplikację wyświetlającą posty zależnie od wybranej kategorii. Komponent appMenu przesyła wybraną przez użytkownika kategorię poprzez $emit do rodzica (app.vue) gdzie jest przechowywana w data. Z tego rodzica zaś przekazuję kategorię poprzez props do komponentu showPosts. W komponencie showPosts w created() obsługiwane jest zapytanie przez Axios do API które zwraca wszystkie posty i przypisuję je do zmiennej w data tego komponentu.

Jednak gdy trzeba uaktualnić/wyświetlić posty z wybranej kategorii otrzymuję "błędne koło", tzn:
W komponencie showPosts otrzymuję nową wartość propsa kategoria i tam wykorzystuję beforeUpdate(). Robię ponowne zapytanie (używając URL z kategoria) i zwracam dane podmieniając nimi aktualne dane w data. Wtedy znów następuje uruchomienie beforeUpdate(), gdyż data została zaktualizowana i znów wykonuje się zapytanie które aktualizuje data. Czy powinienem czymś zastąpić beforeUpdate? Czy może nie w tym leży problem?

Wiem, że pytanie może wydawać się głupie, ale dopiero stawiam pierwsze kroki z Vue. Z góry dzięki za pomoc :)

1 odpowiedź

0 głosów
odpowiedź 5 września 2018 przez Igor Gawrys Stary wyjadacz (12,460 p.)
wybrane 6 września 2018 przez Matt_Z
 
Najlepsza
Możesz np. przesyłać dane poprzez base64 tu masz poradnik jak to zrobić bez base64 https://serversideup.net/uploading-files-vuejs-axios/. Ja stosuje base64.
1
komentarz 6 września 2018 przez Igor Gawrys Stary wyjadacz (12,460 p.)
Masz racje przejże dokładnie kod i wyśle odpowiedź o 20:00
komentarz 6 września 2018 przez Igor Gawrys Stary wyjadacz (12,460 p.)

ZROBIONE ZARAZ WYŚLE KOD smiley 


smiley

komentarz 6 września 2018 przez Igor Gawrys Stary wyjadacz (12,460 p.)
komentarz 6 września 2018 przez Matt_Z Nowicjusz (150 p.)

Super! Działa jak należy :)
Co ciekawe w międzyczasie samemu udało mi się to rozwiązać przenosząc funkcję created do App.vue oraz dodając tam do metod updateCountry oraz updateCategory cały kod z funkcją Axios, po czym wynik przekazuję propsem do komponentu showNews.

Natomiast skorzystam z twojego rozwiązania, bo wygląda mi na lepsze i czytelniejsze. Dzięki! 

smiley

1
komentarz 6 września 2018 przez Igor Gawrys Stary wyjadacz (12,460 p.)
Na początku też miałem taki pomysł aby przenieść do App.vue

Podobne pytania

0 głosów
1 odpowiedź 188 wizyt
0 głosów
1 odpowiedź 592 wizyt
pytanie zadane 8 marca 2018 w JavaScript przez Anoonymous Obywatel (1,560 p.)
0 głosów
1 odpowiedź 221 wizyt
pytanie zadane 24 listopada 2017 w JavaScript przez Anoonymous Obywatel (1,560 p.)

93,469 zapytań

142,404 odpowiedzi

322,716 komentarzy

62,852 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...