vue+element 기반 전역loading 프로세스 상세 설명
1. 필요한 구성 요소 도입, 여기는 주로router와element 구성 요소, element 구성 요소 도입은 element 홈페이지를 참고할 수 있습니다
2. 다음은 중점 및 코드 구현
먼저 전역의 변수 구성 매개 변수입니다. 코드는 다음과 같습니다.
// loading
export const routerLoading = true;
// api loading
export const apiLoading = true;
//loading
export const loadingConfig = {
lock: true,
text: 'Loading',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
}
다음은 전역적인loading 간단한 봉인입니다. 코드는 다음과 같습니다.
import ElementUI from 'element-ui';
import {loadingConfig} from '../src/config/index' //
var loading = null ;
const loadingShow = () => {
loading = ElementUI.Loading.service(loadingConfig);
}
const loadingHide = () => {
loading.close();
}
const loadingObj={
loadingShow,
loadingHide
}
export default loadingObj
페이지가 점프할 때 전역적으로 loading을 설정합니다. 코드는 다음과 같습니다.main.js에 코드 추가:
// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import glo_loading from '../loading/index' //loading
import {routerLoading} from '../src/config/index' // loading
Vue.use(ElementUI);
Vue.config.productionTip = false
/* eslint-disable no-new */
new Vue({
el: '#app',
router,
components: { App },
template: '<App/>'
})
//
const role = 'user'
// router.beforeEach
router.beforeEach((to,from,next) => {
routerLoading ? glo_loading.loadingShow() : '' // loading
if(to.meta.roles){
if(to.meta.roles.includes(role)){
next() //
}else{
next({path:"/404"}) // 404
}
}else{
next() //
}
routerLoading ? glo_loading.loadingHide() : ''// loading
})
aax에서 요청할 때 전역loading을 호출합니다. 코드는 다음과 같습니다.
//
service.interceptors.request.use(function (config) {
//
apiLoading ? glo_loading.loadingShow() : ''// loading
return config;
}, function (error) {
//
console.log(error);
return Promise.reject(error);
});
//
service.interceptors.response.use(function (response) {
//
if(response.status == 200){
return response.data;
}else{
Promise.reject();
}
}, function (error) {
//
console.log(error);
apiLoading ? glo_loading.loadingHide() : ''
return Promise.reject(error);
});
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.