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

Метод rendered

Метод rendered класса Component является хуком жизненного цикла Livewire. Он вызывается автоматически после того, как шаблон компонента был полностью отрендерен и преобразован в HTML-строку. Этот метод полезен для выполнения логики, которая должна произойти после рендеринга, например, для логирования, изменения глобального состояния или запуска событий, которые должны сработать только после того, как HTML компонента сформирован. Метод принимает строку $view, содержащую сгенерированный HTML.

Синтаксис

<?php protected function rendered($view) { // Логика после рендера } ?>

Пример

Давайте добавим логирование после того, как компонент будет отрендерен:

<?php namespace AppLivewire; use LivewireComponent; use IlluminateSupportFacadesLog; class Logger extends Component { public $message = 'Hello, World!'; protected function rendered($view) { Log::info('Component rendered successfully.'); Log::info('Generated HTML: ' . $view); } public function render() { return view('livewire.logger'); } } ?>
<div> <h1>{{ $message }}</h1> <p>Check the logs for render information.</p> </div>

Каждый раз при рендеринге компонента в лог-файл будет записываться сообщение и сгенерированный HTML.

Пример

Используем метод rendered для запуска JavaScript-события после обновления компонента:

<?php namespace AppLivewire; use LivewireComponent; class Notifier extends Component { public $count = 0; public function increment() { $this->count++; } protected function rendered($view) { $this->dispatch('componentRendered', ['count' => $this->count]); } public function render() { return view('livewire.notifier'); } } ?>
<div> <button wire:click="increment">Increment</button> <span>Count: {{ $count }}</span> </div>
window.addEventListener('componentRendered', (event) => { const detail = event.detail; console.log('Component rendered with count:', detail.count); });

После каждого рендеринга будет отправляться событие componentRendered, которое можно перехватить на клиентской части для выполнения JavaScript-кода.

Смотрите также

  • метод rendering,
    который вызывается перед рендерингом шаблона
  • метод mount,
    который инициализирует компонент
  • метод boot,
    который вызывается сразу после создания компонента
  • метод hydrate,
    который вызывается при восстановлении состояния компонента
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить