【发布时间】:2019-11-10 18:22:17
【问题描述】:
当我从一个组件转到另一个组件时,我正在尝试显示预加载器。我用这个preloader。我创建文件loader.js 并写在那里:
import Vue from 'vue';
import Loading from 'vue-loading-overlay';
import 'vue-loading-overlay/dist/vue-loading.css';
Vue.use(Loading);
let loader = Vue.$loading.show({
loader: 'dots',
color: '#5D00FF',
zIndex: 999,
});
function loaderStart() {
loader;
}
function loaderEnd() {
loader.hide();
}
export default {loaderStart, loaderEnd}
loader,js 我导入到index.js,当我想调用加载器启动但它没有启动时我写了(beforeResolve 中的if 预加载器正在工作)。这里是index.js:
import Vue from 'vue'
import Router from 'vue-router'
import Authorization from '@/components/Authorization'
import Main from '@/components/Main'
import loader from './loader'
Vue.use(Router)
const router = new Router({
routes: [
{
path: '/',
name: 'Main',
component: Main,
},
{
path: '/authorization',
name: 'Authorization',
component: Authorization
}
]
})
router.beforeResolve((to, from, next) => {
if(to.path) {
loader.loaderStart()
}
next()
});
router.afterEach((to, from) => {
loader.loaderEnd()
});
export default router;
请帮我找出问题
【问题讨论】:
-
您想通过
if条件实现什么目标? -
@MatJ 当我们转到另一个 rourer 运行方法时,像这样
-
如果那么删除它?
-
@MatJ 然后我只看到预加载器,它涵盖了页面上的其余内容并且它不会停止
标签: vue.js vue-component vue-router preloader