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

Привязка поля к свойству в Livewire

Поле на странице можно нарисовать в шаблоне, и человек наберёт в нём текст. Класс компонента об этом не узнает: пока между полем и свойством нет связи, на сервере по-прежнему пустая строка.

Атрибут wire:model задаёт эту связь: значение поля читается в указанное публичное свойство. Без модификатора привязка отложенная: свойство обновится не на каждую букву, а когда уйдёт запрос к компоненту. Пока запроса не было, под полем видно старое значение из свойства.

Давайте соберём форму поста на /posts. Создадим классовый компонент PostForm:

php artisan make:livewire PostForm --class

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

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

Страница posts.blade.php вставит компонент в макет:

<x-layout> <livewire:post-form /> </x-layout>

В классе заведём свойство заголовка и пустой метод apply, который запускает обновление по кнопке:

<?php namespace App\Livewire; use Livewire\Component; class PostForm extends Component { public $title = ''; public function apply() { } public function render() { return view('livewire.post-form'); } } ?>

В шаблоне свяжем поле с $title, выведем свойство под полем и добавим кнопку, которая вызывает apply:

<div> <input type="text" wire:model="title"> <button type="button" wire:click="apply"> Apply </button> <div>{{ $title }}</div> </div>

Добавьте поле имени работника так, чтобы введённый текст появлялся на странице после нажатия кнопки.

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