大家好。我试图在组件之间转换时显示预加载器。我使用这个预加载器。正如我所做的那样,我创建了一个包含以下内容的文件 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}
我将文件本身导入 index.js 并在我想调用加载器的开始和结束时写入其中,但由于某种原因预加载器没有启动(我在预加载器中没有条件检查它beforeResolve
)。下面是 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;
请告诉我,可能是什么问题?
您的代码更改最少:
以下是基于插件作者ankurk91的帖子的变体。在一个片段中,这样它就不会占用太多空间。
show
是一个插件方法,它返回instance
Vue 应用程序的一个实例;hide
是一个组件方法。编写此答案时使用的资源:Vue API,如何将其与 vue 路由器一起使用,探索 JavaScript 中 null 和 undefined 的深渊。