在此页面(https://nuxtjs.org/api/configuration-loading-indicator#custom-indicators)内,我可以创建自定义加载指标,但未说明如何创建。
有人可以帮助我-如何创建并将其设置为nuxt.config?
答案 0 :(得分:1)
这里是Nuxt.js源代码中默认loading indicators的集合。
基本上,您可以在loadingIndicator
中指定要用作nuxt.config.js
的HTML模板。
export default {
..., // Other Nuxt configuration
// Simple usage:
loadingIndicator: '~/custom-locading-indicator.html',
// Or with dynamic configuration variables passed via lodash template syntax
loadingIndicator: {
name: '~/custom-locading-indicator.html',
color: '#000',
background: '#fff'
}
}
请注意,指标可以访问
答案 1 :(得分:0)
Nuxt还提供了$loading
组件,因此您可以随时在应用程序中的任何位置使用它。
使用$nuxt.$loading.get()
将返回当前的加载百分比。
例如:
<template>
<div>
<h1>Home page</h1>
<div v-show="$nuxt.$loading.get() > 0">
{{loadingIndicator}}%
</div>
</div>
</template>
<script>
export default {
computed: {
loadingIndicator() {
return this.$root.$loading.get()
}
}
}
</script>
答案 2 :(得分:0)
@femanso之后,我设法用window.$nuxt.$root.$loading.percent
而不是$nuxt.$loading.get()
自定义加载组件
computed: {
loadingIndicator() {
return window.$nuxt.$root.$loading.percent
}
},
答案 3 :(得分:0)
如果有人偶然发现此问题并想从vue组件获取当前的加载进度,则可以使用以下方法:
编辑:它一直起作用,直到我重新启动开发服务器,然后它才停止工作。因此不知道这是否可行。
computed: {
nuxtLoading() {
return this.$nuxt.$loading.percent
},
},
答案 4 :(得分:0)
使用Bootstrap 5微调器(https://v5.getbootstrap.com/docs/5.0/components/spinners/),模式:“通用”
在 nuxt.config.js
loading:“〜/ components / loading.vue”
在组件中
<template>
<div
v-if="isLoading"
class="loader"
>
<div class="loader__spinner spinner-border text-primary" role="status">
<span class="sr-only">Loading...</span>
</div>
</div>
</template>
<script>
export default {
data() {
return {
isLoading: false
}
},
methods: {
start() {
this.isLoading = true
},
finish() {
this.isLoading = false
}
}
}
</script>
<style lang="scss" scoped>
.loader {
&__spinner {
position: fixed;
top: 10px;
left: 10px;
}
}
</style>
https://nuxtjs.org/guides/configuration-glossary/configuration-loading https://codesandbox.io/s/github/nuxt/nuxt.js/tree/dev/examples/custom-loading?from-embed=&file=/components/loading.vue
答案 5 :(得分:-1)
这是你需要的:
您可以为您的应用创建一个组件。 您可以阅读有关 Nuxt Loading Here
loading: <your-component-path>
在此处阅读更多信息The loading indicator Property。 loadingIndicator: {
name: 'chasing-dots',
color: 'purple',
background: 'green'
}
以下是我如何在应用中配置组件的示例。
export default {
// LoadingBar component
loading: '~/path-to-your-loading-component/Loading.vue',
}
在您要加载的页面上,添加此内容。
export default {
/*
** programmatically start the loader so we force the page to take x2seconds to load
*/
mounted() {
this.$nextTick(() => {
this.$nuxt.$loading.start()
setTimeout(() => this.$nuxt.$loading.finish(), 2000)
})
}
}
</script>
```