vue Nprogress 진도 항목 기능 흔 한 문제 실현
홈 페이지:http://ricostacruz.com/nprogress/
github: https://github.com/rstacruz/nprogress
아래 그림 의 이러한 상단 진도 바 는 매우 흔히 볼 수 있 는 것 으로
vue
프로젝트 에 대응 하 는 플러그 인 이 있 습 니 다.Nprogress
Nprogress
진도 조 의 사용 방법 은 다음 과 같다.1.플러그 인 설치
nprogress
npm install --save nprogress
이 곳 의--save
은-s
과 같 습 니 다.즉,플러그 인의 이름과 버 전 번 호 를package.json
파일 에 저장 하 는dependencies
것 입 니 다.그러면 다른 사람 이 프로젝트 를 복제 한 후에npm install
를 통 해 모든 플러그 인 을node_modules
에 다운로드 할 수 있 습 니 다.2.
nprogress
플러그 인의 사용이 진도 바 는 주로 페이지 경로 의 도약 과정 에 사용 되 기 때문에
router/index.js
에서 직접 사용 할 수 있 습 니 다.경로 가 이동 하기 전에 진도 바 로 딩 을 시작 하고 경로 가 이동 한 후에 진도 바 의 로 딩 을 끝 냅 니 다.
router/index.js
파일 내용 은 다음 과 같다.
import Vue from "vue";
import VueRouter from "vue-router";
import store from "@/store";
import HomeLayout form "@/views/home/layout";
import NProgress from "nprogress";
import userCenter from "./modules/userCenter";
import 'nprogress/nprogress.css'
Vue.use(VueRouter);
NProgress.inc(0.2);
NProgress.configure({easing:'ease',speed:2000,showSpinner:false,trickle:false})
const routes = [{
path:"/",
name:"Index",
redirect:"/index"
},{
path:"/index",
name:'Index',
component:()=>import ('@/views/home/index.vue'),
meta:{title:' '}
},{
path:'/home',
name:'Home',
component:()=>import('@/views/home/main'),
meta:{title:' '}
},{
path:'/login',
name:'Login',
component:()=>import ('@/views/login'),
meta:{title:' '}
},{
path:'/register',
name:'register',
component:()=>import('@/views/register'),
meta:{title:' '}
},{
path:'/404',
name:'404',
component:()=>import('@/views/errorPage')
},{
path:'*',
redirect:'/404'
}]
const router = new VueRouter({
mode:'history',
routes
})
//
router.beforeEach((to,from,next)=>{
// ,
NProgress.start();
// , ...
const token = window.localStorage.getItem('token');// localstorage
if(to.meta.title){
document.title = to.meta.title;// title
}
store.commit('changeCurrentPage',to.path);
const reg = /[a-zA-Z]+\/$/;
//
if(!to.meta.requireAuth){
if(reg.test(to.path)){
next(to.path.replace(reg,''));
return;
}
next();
return
}
if(token&&to.name!=='Index'){
//
if(reg.test(to.path)){
next(to.path.replace(reg,''));
return;
}
next();//
}else if(token && to.name == 'Index'){
//
if(reg.test(to.path)){
next(to.path.replace(reg,''));
return
}
next('/home');//
}else if(!token && to.name !='Index'){
//
next('/index');//
}else{
if(reg.test(to.path)){
next(to.path.replace(reg,''));
return;
}
next()
}
})
router.afterEach(to=>{
NProgress.done();
window.scrollTo(0,0);
})
// ,
const originalPush = VueRouter.prototype.push;
VueRouter.prototype.push = function push(location){
return originalPush.call(this,location).catch(err=>err);
}
export default router;
위의 중점 은 다음 과 같다.플러그 인 도입 및 대응 하 는
css
nprogress
설정 매개 변수3.
router.beforeEach
경로 가 이동 하기 전에 차단 할 때 진도 바 를 불 러 옵 니 다.4.
router.afterEach
경로 이동 이 끝 난 후 진도 바 를 닫 습 니 다.3.
nprogress
플러그 인 스타일 수정App.vue
파일 의style
스타일 에 다음 코드 를 추가 하여 진행 항목 의 색상 을 변경 합 니 다.
#nprogress .bar {
background: #f90 !important; //
}
vue Nprogress 진도 항목 기능 실현 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 vue Nprogress 진도 항목 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 바 랍 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Fastapi websocket 및 vue 3(Composition API)1부: FastAPI virtualenv 만들기(선택 사항) FastAPI 및 필요한 모든 것을 다음과 같이 설치하십시오. 생성main.py 파일 및 실행 - 브라우저에서 이 링크 열기http://127.0.0.1:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.