РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
⊗pplwSpHkDh 90 of 102 menu
◀ ▶

Сохранение в снимок в Livewire

Давайте теперь посмотрим на страницу поста со счётчиком проверок. Запрос уже обработан, но зафиксировать этот факт в поле хочется именно перед отправкой состояния в браузер, а не в методе кнопки и не в render.

Метод dehydrate вызывается перед записью снимка состояния для ответа. Здесь удобно подчистить или обновить поля, которые должны уехать на клиент в нужном виде, или накопить служебный счётчик на стороне сервера.

Страница откроется по адресу /posts/snap. Давайте создадим компонент PostSnap:

php artisan make:livewire PostSnap --class

Давайте добавим маршрут и страницу:

<?php Route::get('/posts/snap', function () { return view('posts-snap'); }); ?>
<x-layout> <livewire:post-snap /> </x-layout>

Давайте заведём счётчик и увеличим его в методе dehydrate:

<?php namespace App\Livewire; use Livewire\Component; class PostSnap extends Component { public $checks = 0; public function dehydrate() { $this->checks++; } public function render() { return view('livewire.post-snap'); } } ?>

Давайте выведем число и кнопку обновления:

<div> {{ $checks }} <button type="button" wire:click="$refresh" > Refresh </button> </div>

Создайте компонент EmployeeSnap. Счётчик работника растёт, когда состояние уходит в браузер.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить