loadingGuard.ts 443 Bytes
import { Router } from "vue-router";

export const createLoadingGuard = (router: Router) => {
    router.beforeEach(async (to, from, next) => {
      const Loading = window['$loading'];
      Loading && Loading.start();
      next()
    })
  
    router.afterEach((to, _, failure) => {
      const Loading = window['$loading'];
      document.title = (to?.meta?.title as string) || document.title;
      Loading && Loading.finish();
    })

}