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

Метод has

Метод has класса Component проверяет, существует ли указанное свойство в экземпляре компонента Livewire. Метод принимает один параметр - строку с именем свойства. Возвращает логическое значение: true, если свойство определено и имеет значение, или false в противном случае. Особенность метода в том, что он не вызывает ошибку при обращении к несуществующему свойству, а просто возвращает false.

Синтаксис

<?php $exists = $this->has('propertyName'); ?>

Пример

Давайте проверим наличие свойства $num в компоненте:

<?php namespace AppLivewire; use LivewireComponent; class Counter extends Component { public $num = 10; public function checkNum() { if ($this->has('num')) { return 'Property exists'; } return 'Property does not exist'; } public function render() { return view('livewire.counter'); } } ?>
<div> <button wire:click="checkNum"> Check property </button> <span>{{ $result }}</span> </div>

После нажатия на кнопку в свойстве $result окажется строка:

"Property exists"

Пример

Проверим несуществующее свойство $title:

<?php namespace AppLivewire; use LivewireComponent; class Post extends Component { public $text = 'abcde'; public function checkTitle() { if ($this->has('title')) { return 'Title exists'; } return 'Title does not exist'; } public function render() { return view('livewire.post'); } } ?>
<div> <button wire:click="checkTitle"> Check title </button> <span>{{ $result }}</span> </div>

Результат выполнения кода:

"Title does not exist"

Пример

Используем has для условного отображения данных в Blade-шаблоне:

<?php namespace AppLivewire; use LivewireComponent; class UserProfile extends Component { public $name = 'John'; public $age = 30; public function render() { return view('livewire.user-profile'); } } ?>
<div> @if ($this->has('name')) <p>Name: {{ $name }}</p> @endif @if ($this->has('age')) <p>Age: {{ $age }}</p> @endif @if (!$this->has('email')) <p>Email field is not set</p> @endif </div>

Результат выполнения кода:

<div> <p>Name: John</p> <p>Age: 30</p> <p>Email field is not set</p> </div>

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

  • метод fill,
    который заполняет свойства компонента значениями
  • метод pull,
    который извлекает свойства компонента в массив
  • метод only,
    который возвращает указанные свойства компонента
  • метод except,
    который возвращает все свойства компонента, кроме указанных
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить