vue使用Nprogress进度条功能实现
在Vue项目中使用Nprogress进度条可以通过以下步骤实现:
- 安装Nprogress:
npm install nprogress --save
- 在main.js中引入Nprogress,并设置样式:
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
NProgress.configure({
minimum: 0.1,
template: `
<div class="bar" role="bar">
<div class="peg"></div>
</div>
<div class="spinner" role="spinner">
<div class="spinner-icon"></div>
</div>
`
})
- 使用路由守卫来触发Nprogress:
router.beforeEach((to, from, next) => {
NProgress.start()
next()
})
router.afterEach(() => {
NProgress.done()
})
- 在App.vue或者单独的组件中添加Nprogress的DOM元素:
<template>
<div>
<!-- 你的内容 -->
<div v-if="isLoading" class="nprogress-container">
<nprogress></nprogress>
</div>
</div>
</template>
<script>
export default {
data() {
return {
isLoading: false
};
},
created() {
this.showLoading();
},
methods: {
showLoading() {
NProgress.on('start', () => {
this.isLoading = true
})
NProgress.on('done', () => {
this.isLoading = false
})
}
}
}
</script>
<style>
.nprogress-container {
position: fixed;
width: 100%;
height: 50px;
z-index: 2000;
pointer-events: none;
user-select: none;
}
</style>
这样就可以在Vue应用中使用Nprogress来显示页面加载的进度条了。
评论已关闭