使用 nprogress 插件可以实现路由切换进度动画,步骤如下
npm install --save nprogress
import { createApp } from 'vue'
import App from './App.vue'
// 从 route.js 导出路由数据
import router from "./route.js";
import 'nprogress/nprogress.css';
const app = createApp(App);
// 使用路由
app.use(router);
app.mount('#app');
import NProgress from 'nprogress';
NProgress.configure({
easing: 'ease', // 动画方式
speed: 500, // 递增进度条的速度
showSpinner: false, // 是否显示加载ico
trickleSpeed: 200, // 自动递增间隔
minimum: 0.3 // 初始化时的最小百分比
});
import { createRouter, createWebHashHistory } from "vue-router";
const router = createRouter({
history : createWebHashHistory(),
routes : routes
});
router.beforeEach((to, from) => {
NProgress.start();
console.log(to, from);
// 自己的路由拦截逻辑代码
// 比如拦截 User 路由
console.log(to.path);
if(to.path == '/User'){
return false;
}
});
router.afterEach((to, from) => {
NProgress.done()
})