Polling

Livewire offers a directive called wire:poll that, when added to an element, will refresh the component every 2s.

Polling for changes over Ajax is a lightweight, simpler alternative to something like Laravel Echo, Pusher, or any WebSocket strategy.
<div wire:poll>
    Current time: {{ now() }}
</div>

You can customize the frequency by passing a directive modifier like 750ms. For example:

<div wire:poll.750ms>
    Current time: {{ now() }}
</div>

You can also specify a specific action to fire on the polling interval by passing a value to wire:poll:

<div wire:poll="foo">
    Current time: {{ now() }}
</div>

Now, the foo method on the component will be called every 5 seconds.

Livewire reduces polling when the browser tab is in the background so that it doesn't bog down the server with ajax requests unnecessarily.
← Previous Topic

Loading States

Next Topic →

Prefetching

Laravel Intellow Cierra 1043 Labs JR Merritt Trustfactory