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

Передача свойства в Livewire

Давайте теперь возьмём страницу профиля. Имя человека уже известно: оно есть в данных страницы и видно в шапке. Ниже нужен отдельный блок приветствия с тем же именем. Если нарисовать его прямо в шаблоне профиля, блок нельзя поставить на другую страницу: текст склеен с остальной разметкой.

При вставке вложенного компонента можно передать значение атрибутом вроде :name="$name". Livewire запишет его в одноимённое публичное свойство ребёнка, и шаблон ребёнка будет выводить уже переданное имя.

Давайте соберём профиль на /profile. Создадим компоненты Profile и Greeting:

php artisan make:livewire Profile --class php artisan make:livewire Greeting --class

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

<?php Route::get('/profile', function () { return view('profile'); }); ?>

На странице profile.blade.php вставим родителя:

<x-layout> <livewire:profile /> </x-layout>

В классе Profile заведём свойство имени:

<?php namespace App\Livewire; use Livewire\Component; class Profile extends Component { public $name = 'Ann'; public function render() { return view('livewire.profile'); } } ?>

Давайте передадим имя во вложенный Greeting в шаблоне профиля:

<div> <livewire:greeting :name="$name" /> </div>

У приветствия объявим такое же свойство и выведем его в шаблоне:

<?php namespace App\Livewire; use Livewire\Component; class Greeting extends Component { public $name; public function render() { return view('livewire.greeting'); } } ?>

В шаблоне выведем переданное имя:

<div> {{ $name }} </div>

Создайте компонент User и вложенный Hello. Пусть User хранит имя и показывает его внутри Hello.

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