Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗pplrPmCmPCD 250 of 252 menu
◀ ▶

Передача данных в классы компонентов в Laravel

Можно передавать данные в классы компонентов, используя атрибуты HTML. Давайте для примера сделаем два атрибута:

<x-alert type="error" message="text" />

Давайте теперь получим эти данные в классе компонента. Для этого для начала объявим наши атрибуты свойствами класса компонента:

<?php namespace App\View\Components; use Illuminate\View\Component; class Alert extends Component { public string $type; public string $message; } ?>

Теперь получим данные атрибутов в конструкторе. Удобно объявить свойства прямо в параметрах (promoted properties):

<?php namespace App\View\Components; use Illuminate\View\Component; class Alert extends Component { public function __construct( public string $type, public string $message, ) {} } ?>

Теперь можем сделать что-нибудь с полученными данными. Например, передадим их в представление через render:

<?php namespace App\View\Components; use Illuminate\Contracts\View\View; use Illuminate\View\Component; class Alert extends Component { public function __construct( public string $type, public string $message, ) {} public function render(): View { return view('components.alert'); } } ?>

Публичные свойства конструктора сами доступны в представлении. Выведем их:

<div class="alert alert-{{ $type }}"> {{ $message }} </div>

Передайте в компонент Logo путь к картинке и ее alt.

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