fuc-new/doc/node_modules/@vuepress/plugin-nprogress/lib/client/composables/useNprogress.js
hellcat 6adbc04d4b 1
2025-10-03 17:17:08 +08:00

32 lines
920 B
JavaScript

import { onMounted } from 'vue';
import { useRouter } from 'vuepress/client';
import { nprogress } from '../nprogress.js';
import '../styles/vars.css';
import '../styles/nprogress.css';
/**
* Use nprogress
*
* 使用 nprogress
*/
export const useNprogress = () => {
onMounted(() => {
// get vue-router instance
const router = useRouter();
// record which pages have been loaded
const loadedPages = new Set();
// add path of current page as initial value
loadedPages.add(router.currentRoute.value.path);
// show progress bar before navigation
router.beforeEach((to) => {
if (!loadedPages.has(to.path)) {
nprogress.start();
}
});
// hide progress bar after navigation
router.afterEach((to) => {
loadedPages.add(to.path);
nprogress.done();
});
});
};