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

Остановка опроса в Inertia

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

Хелпер usePoll возвращает метод stop. Его можно повесить на кнопку: после нажатия следующий тик не отправится, данные замрут на последнем значении.

Давайте снова отдадим метку с сервера:

<?php use Illuminate\Support\Facades\Route; use Inertia\Inertia; Route::get('/status', function () { return Inertia::render('Status', [ 'pulse' => now()->format('H:i:s'), ]); }); ?>

Давайте выведем метку, запустим опрос и добавим кнопку, которая вызывает метод stop:

<script setup> import { usePoll } from '@inertiajs/vue3' defineProps({ pulse: String, }) const { stop } = usePoll(2000) </script> <template> <p>Pulse: {{ pulse }}</p> <button type="button" @click="stop"> Stop polling </button> </template>

Сделайте страницу работников Shift с пропсом tick и опросом раз в четыре секунды, чтобы кнопка Pause навсегда прекращала обновление метки на этом экране.

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