Как перезагрузить один компонент livewire из другого компонента?

0

Вопрос

У меня есть компоненты с именами TopicSolution, AddToCart и CartCounter. Я хочу обновить значение счетчика карт после нажатия кнопки "Добавить в корзину", но счетчик карт не обновляется.

  1. У меня есть компонент livewire с именем topic-solutions, который находится в папке livewire, и у этого компонента есть еще один компонент с именем add-to-cart, который находится в папке livewire > cart (примечание: у него есть родительский div)

    см. раздел код

  2. представления компонента "Добавить в корзину" содержат этот код

    добавить в корзину

  3. при нажатии кнопки "Добавить в корзину" запускается счетчик карт обновлений, который является еще одним компонентом внутри livewire>корзина

    $это->эмиссия("Счетчик карт обновлений");

  4. И у CartCounter есть слушатели с именем updateCartCounter

    защищенные $listeners = [ 'updateCartCounter' => 'визуализация' ]; Я также попробовал следующий код

    защищенные $listeners = [ 'updateCartCounter' => '$обновить' ];

Но ничего не вышло. этот компонент счетчика карт не обновляется/не перезагружается.

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

Лучший ответ

0

как предложил вам @Quirel, вы можете использовать волшебный метод "$обновить " непосредственно в прослушивателе. Протестируйте его, разработав такой метод

protected $listeners = [
    'cartCounterUpdate'
];

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

да, я сделал то же самое для тестирования, как вы говорите, и это работает, но компонент cartcounter не обновился.
Prashant Malla

ну, тогда вы должны поделиться кодом, который вы пишете, и объяснить нам, чего вы от него ожидаете
Prospero

взгляните, пожалуйста, я обновил вопрос
Prashant Malla

На других языках

Эта страница на других языках

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