• 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

VPS Starter Arubacloud
0 głosów
612 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ź 124 wizyt
0 głosów
1 odpowiedź 394 wizyt
pytanie zadane 8 marca 2018 w JavaScript przez Anoonymous Obywatel (1,560 p.)
0 głosów
1 odpowiedź 182 wizyt
pytanie zadane 24 listopada 2017 w JavaScript przez Anoonymous Obywatel (1,560 p.)

92,453 zapytań

141,262 odpowiedzi

319,085 komentarzy

61,854 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.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...