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

Директива wire:navigate.hover

Директива wire:navigate.hover применяется к ссылкам и предварительно загружает целевой URL при наведении курсора. Это улучшает восприятие скорости работы приложения, так как следующая страница начинает загружаться до того, как пользователь совершит клик. Директива работает в связке с системой навигации Livewire и использует атрибут href для определения целевого адреса.

Синтаксис

<a href="/target-page" wire:navigate.hover> Link text </a>

Директива wire:navigate.hover добавляется к тегу a вместе с атрибутом href. При наведении мыши на ссылку Livewire инициирует фоновую загрузку указанного URL.

Пример

Создадим компонент навигации с двумя страницами. При наведении на ссылку "О нас" будет происходить предварительная загрузка контента:

<?php namespace AppLivewire; use LivewireComponent; class Navigation extends Component { public $currentPage = 'home'; public function navigateTo($page) { $this->currentPage = $page; } public function render() { $content = match($this->currentPage) { 'home' => 'Home page content', 'about' => 'About us page content', default => 'Page not found' }; return view('livewire.navigation', [ 'content' => $content ]); } } ?>
<nav> <a href="/" wire:navigate.hover>Home</a> <a href="/about" wire:navigate.hover>About</a> </nav> <div> {{ $content }} </div>

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

<nav> <a href="/">Home</a> <a href="/about">About</a> </nav> <div> Home page content </div>

Пример с передачей параметров

Директива может использоваться со ссылками, содержащими динамические параметры. При наведении на ссылку будет предзагружена страница с соответствующим идентификатором:

<?php namespace AppLivewire; use LivewireComponent; class UserList extends Component { public $users = ['user-1', 'user-2', 'user-3']; public function render() { return view('livewire.user-list'); } } ?>
<ul> @foreach ($users as $user) <li> <a href="/user/{{ $user }}" wire:navigate.hover> View profile {{ $user }} </a> </li> @endforeach </ul>

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

<ul> <li> <a href="/user/user-1"> View profile user-1 </a> </li> <li> <a href="/user/user-2"> View profile user-2 </a> </li> <li> <a href="/user/user-3"> View profile user-3 </a> </li> </ul>

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

  • директиву wire:navigate,
    которая выполняет навигацию с переходом между страницами
  • директиву wire:navigate.preserve-scroll,
    которая сохраняет позицию прокрутки при навигации
  • директиву wire:click,
    которая обрабатывает клики по элементам
  • директиву wire:loading,
    которая отображает состояние загрузки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить