Jak ponownie uruchomić jeden składnik livewire z innego komponentu?

0

Pytanie

Mam składniki z nazwiskami TopicSolution, AddToCart i CartCounter. Chcę zaktualizować wartość licznika kart po kliknięciu przycisku "Dodaj do koszyka", ale licznik kart nie jest aktualizowany.

  1. Mam składnik livewire z nazwą topic-solutions, który znajduje się w folderze livewire, i u tego składnika jest jeszcze jeden składnik o nazwie add-to-cart, który znajduje się w folderze livewire > cart (uwaga: ma nadrzędnego elementu div)

    zobacz kod

  2. widoku komponentu "Dodaj do koszyka" zawierają ten kod

    dodaj do koszyka

  3. po kliknięciu przycisku "Dodaj do koszyka" uruchamia licznik kart aktualizacji, który jest kolejnym elementem wewnątrz livewire>kosz

    $to->emisja("Licznik kart aktualizacji");

  4. I CartCounter są słuchacze z nazwą updateCartCounter

    chronione $listeners = [ 'updateCartCounter' => 'wizualizacja' ]; Próbowałem też następujący kod

    chronione $listeners = [ 'updateCartCounter' => '$zaktualizować' ];

Ale nic z tego nie wyszło. ten komponent licznika kart nie jest aktualizowany/nie uruchamia się ponownie.

components laravel laravel-livewire
2021-11-24 05:58:23
1

Najlepsza odpowiedź

0

jak sugeruje @Quirel, można użyć magicznego metoda "$zaktualizować " bezpośrednio w detektorze. Przetestuj go, mając taka metoda

protected $listeners = [
    'cartCounterUpdate'
];

public function cartCounterUpdate()
{
   dd('the event was emited');
}
2021-11-24 13:33:10

tak, zrobiłem to samo do testowania, jak mówisz, i to działa, ale składnik cartcounter nie zmieniło.
Prashant Malla

no to musisz udostępnić kod, który piszesz, i wyjaśnić nam, czego od niego oczekujesz
Prospero

spójrz, proszę, zaktualizowałem pytanie
Prashant Malla

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................