Конечно, давайте улучшим ваш вопрос. Вот переформулированный вариант: "Я изучаю Nuxt и столкнулся с недопониманием использования хуков с Composition API. Я хочу создать загрузочный экран для сайта и применить хук "page:loading:end". Однако мне неясно, где точно в коде его использовать и как правильно это сделать. Может кто-то поделиться информацией о том, как работать с хуками в Nuxt или предоставить ссылку на статью. Благодарю за помощь!"
В Nuxt.js есть несколько различных хуков, которые можно использовать внутри модулей для выполнения определенных действий во время различных событий. Один из таких хуков - `page:loading:end`, который срабатывает после завершения загрузки страницы. Для того чтобы использовать данный хук внутри модуля, вам нужно создать файл `nuxt.config.js` в корневой директории вашего проекта и добавить следующий код: ```js export default { hooks: { 'page:loading:end': (context) => { // ваш код здесь } } } ``` В блоке `hooks` вы можете определить различные события и соответствующие им обработчики. В данном случае мы создали обработчик для события `page:loading:end`, который будет вызываться после завершения загрузки страницы. Внутри обработчика вы можете выполнить необходимые действия, например, отобразить или скрыть загрузочный экран. Для более подробной информации о хуках в Nuxt.js вы можете посмотреть документацию по ссылке: https://nuxtjs.org/docs/2.x/internals-glossary/hooks Надеюсь, эта информация поможет вам разобраться с использованием хуков в Nuxt.js!
Если нужны именно хуки
const nuxtApp = useNuxtApp(); const loadingStartHook = nuxtApp.hook('page:loading:start', () => { ... }); const loadingFinishHook = nuxtApp.hook('page:loading:end', () => { ... }); const unsubError = nuxtApp.hook('vue:error', () => ...)
В какой-то из версий добавили встроенный композабл useLoadingIndicator . Это удобная обертка над этими хуками, можно в исходниках глянуть.
Использовать достаточно просто
const { progress, isLoading } = useLoadingIndicator();
Тут можно посмотреть пример кастомного индикатора