我是在src目录下新建了一个plugins文件夹,再这个文件夹里面新建一个loading.js文件,
文件里面的内容如下:
import { ElLoading} from 'element-plus'
let loadingCount = 0;
let loading;
const startLoading = () => {
loading = ElLoading.service({
lock: true,
text: '加载中……',
background: 'rgba(0, 0, 0, 0.1)'
});
};
const endLoading = () => {
loading.close();
};
export const showLoading = () => {
if (loadingCount === 0) {
startLoading();
}
loadingCount += 1;
};
export const hideLoading = () => {
if (loadingCount <= 0) {
return;
}
loadingCount -= 1;
if (loadingCount === 0) {
endLoading();
}
}
再需要加载效果的地方,引入这个文件的方法即可,例如再一个Hellow.vue页面
import { showLoading, hideLoading } from '@/plugins/loading' //自封装loading加载效果引入
showLoading();//打开加载中
hideLoading();//关闭加载中