Таким образом, вы можете создать пользовательскую загрузку:
Мы можем создать наш пользовательский компонент в components / loading.vue:
<template lang="html">
<div class="loading-page" v-if="loading">
<p>Loading...</p>
</div>
</template>
<script>
export default {
data: () => ({
loading: false
}),
methods: {
start () {
this.loading = true
},
finish () {
this.loading = false
}
}
}
</script>
<style scoped>
.loading-page {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(255, 255, 255, 0.8);
text-align: center;
padding-top: 200px;
font-size: 30px;
font-family: sans-serif;
}
</style>
Затем мы обновим наш nuxt.config.js , чтобы указать Nuxt.js использовать наш компонент:
export default {
loading: '~/components/loading.vue'
}
А затем в своем компоненте вы можете показать и скрыть с помощью:
this. $ nuxt. $ loading.start () для запуска панели загрузки и this. $ nuxt. $ loading.finish () для его завершения.
Вы можете поместить это в обратные вызовы запроса.