Z góry mówię, że kodu nie pokaże. Pytanie kieruje do osób z doświadczeniem przy pracy z Vue i czy napotkali podobny problem i jak go rozwiązali.
A i async/await na watch z góry mi nie pozwala :).
Mamy 3 komponenty vue. Ich struktura wygląda tak.
ComponentMatka -> componentSwitch => componentA
=> componentB
ComponentA emituje zdarzenieA.
ComponentB emituje zdarzenieB.
I sytuacja emit wygląda tak:
zdarzenieA zdarzenieA zdarzenieA
ComponentA ==> ComponentSwitcher ==> ComponentMatka --> metoda sprawdzGalerie();
zdarzenieB zdarzenieB zdarzenieB
ComponentB ==> ComponentSwitcher ==> ComponentMatka --> metoda sprawdzCzyZdjecieIstnieje();
Przytym componentSwitcher wywołuje zdarzenie wezGalerie/wezZdjecie.
(event click) => ComponentSwitcher ==> ComponentMatka --> galleryEventCallback();
Dany użytkownik klika dany checkbox w zaleznosci co zostalo klikniete wyswietla sie galeria albo pojedyncze zdjecie plus jest to informacja dla zapisu co ma wziąść pod uwagę gdy dojdzie do zapisu danych.
UWAGA! callbacki przy wywołowaniu switcha, się zgadzają stany się zmieniają.
Ale gdy klikam zapisz , bierze stany domyslne (nieprawidłowe) choc stan jak wyzej wynika jest AKTUALIZOWANY!
Co ciekawe, gdy zakończy się ta funkcja zapiszPomysl, wywołowany jest jeszcze raz callback(SIC!) który zmienia stany jak by nastapilo klikniecie checkboxa. Wiem, to z tego powodu, że obserwowałem stany na watch.
Co ciekawe drugie klikniecie zapisz i juz stany sie zgadzaja....
Siedziałem nad tym z 5 godzin i jedyne na co wpadłem wywoływać się przez Vuex, getters działa jeszcze mutator coś nie dżwięczy.