Скрипт компонента в Livewire
Пусть на странице поста нужна короткая запись в консоль браузера, когда разметка уже на месте, а обычный тег script в шаблоне компонента для этого не годится: Livewire перерисовывает фрагмент, и такой скрипт легко срабатывает не в тот момент или повторяется лишний раз.
Директива script
оборачивает код,
который фреймворк
запускает вместе
с жизненным циклом
компонента на клиенте.
Внутри доступен
объект wire, а сам
блок не смешивается
с обычной разметкой.
Страница откроется
по адресу /posts/log.
Давайте создадим компонент
PostLog:
php artisan make:livewire PostLog --class
Давайте оставим класс без лишних свойств:
<?php
namespace App\Livewire;
use Livewire\Component;
class PostLog extends Component
{
public function render()
{
return view('livewire.post-log');
}
}
?>
Давайте в шаблоне выведем подпись и короткий скрипт:
<div>
Ready
</div>
@script
console.log('ready');
@endscript
Давайте добавим маршрут и страницу:
<?php
Route::get('/posts/log', function () {
return view('posts-log');
});
?>
<x-layout>
<livewire:post-log />
</x-layout>
Создайте компонент EmployeeLog.
При открытии страницы
работника в консоль
браузера попадает
короткая запись.