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

Функция состояния в Nuxt

Повторять один и тот же ключ useState и функции изменения на каждой странице легко перепутать строку или забыть .value. В Nuxt принято складывать такую логику в файлы папки app/composables. Имя файла задаёт функцию, которую Nuxt подставляет без явного import.

Разберём корзину: функция инкапсулирует ключ и действия, страницы вызывают только готовый API.

Файл функции:

export function useCart() { const count = useState('cartCount', () => 0); function addItem() { count.value++; } return { count, addItem, }; }

Страница каталога подключает функцию одной строкой в script setup:

<script setup> const { count, addItem } = useCart(); </script> <template> <h1> Catalog </h1> <p> Cart: {{ count }} </p> <button type="button" @click="addItem"> Add item </button> </template>

Страница корзины вызывает ту же функцию и получает ту же ссылку count. Смысл урока - папка composables: общая логика оформляется функцией useИмя и доступна без импорта, как функция useState из ядра Nuxt:

<script setup> const { count } = useCart(); </script> <template> <h1> Cart </h1> <p> Items: {{ count }} </p> </template>

Создайте функцию с общим строковым состоянием названия города и функцией, которая подставляет переданное имя.

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

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