Laravel Livewire, связь между компонентами LiveWire - PullRequest
0 голосов
/ 20 апреля 2020

У меня есть 2 компонента livewire, 1-й отображает только сессионную переменную корзины, а 2-й просто добавляет товары в корзину (очень сырая форма с sku, title, price и qty).

livewire: shoppingcart: cart = "$ CartId">> 1004 *

livewire: форма заказа-добавления-продукта: orderAddProductCartId = "$ CartId">

Оба компонента работают нормально сами по себе. Но когда я добавляю элемент из второго компонента, он обновляет переменную сеанса корзины, но представление никогда не обновляется. Мне нужно обновить страницу sh, чтобы увидеть переменную сеанса в представлении корзины.

Можно ли соединить оба компонента вместе. Итак, когда я добавляю товар в корзину из одного компонента, он автоматически обновляет вид другого компонента?

Спасибо

1 Ответ

3 голосов
/ 21 апреля 2020

Из второго компонента после добавления нового продукта вы можете создать событие, например:

$this->emit('cart:update');

См. Документы: Livewire Events

Теперь вы можете слушать событие из первого компонента и использовать специальное действие livewire под названием $ refre sh

См. документы: Специальные действия

protected $listeners = [
    'cart:update' => '$refresh',
];

Я думаю, что это решает вашу проблему .

...