Livewire sendTo и sendSelf выдают ошибки «не существует»

Я пытаюсь установить связь между родительским и дочерним компонентом из родительского -> дочернего компонента с помощью Livewire 3. Конечная цель состоит в том, что после завершения действия над родительским компонентом я хочу, чтобы оно запускало обновление дочернего компонента.

Я попробовал пару вещей, но столкнулся с чем-то странным. Я использую Livewire v3.4.6 и пробовал использовать $this->dispatchSelf() в дочернем компоненте и $this->dispatchTo() в родительском компоненте, и оба они выдают ошибки Method App\Http\Livewire\Component::dispatchTo/dispatchSelf does not exist!

Разве это не входит в комплект Livewire? Нужно ли мне импортировать dispatchTo/dispatchSelf в компонент с помощью use? Я предположил, что нет, учитывая, что dispatch() работает нормально??

В документации говорится, что он поставляется из коробки, поэтому я в полном замешательстве!

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
135
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Глядя на документацию, раньше правильно использовалось $this->emitTo(), но теперь это $this->dispatch('event')->to('foo') вместо $this->dispatchTo('event' ...).

Ответ принят как подходящий

Livewire 3 имеет методы to() и self() для связи с диспетчеризацией():

$this->dispatch('my-event')->to(AComponent::class);

$this->dispatch('another-event')->self();

на стороне js методы становятся sendTo и sendSelf

$wire.dispatchTo("component-name", "my-event");

$wire.dispatchSelf("another-event");

Также доступны магические методы $dispatchTo и $dispatchSelf:

<button wire:click = "$dispatchTo('component-name', 'my-event')">
   Dispatch To
</button>

<button wire:click = "$dispatchSelf('another-event')">
   Dispatch Self
</button>

Другие вопросы по теме