【发布时间】:2019-11-02 14:06:53
【问题描述】:
在 VueJS 中,我将每条路线上的加载器显示为:
router.beforeEach((to, from, next) => {
store.commit('loading', true);
next();
})
但是如果服务器在不到一秒的时间内加载页面,那么显示这个请求的加载器看起来很奇怪,只显示一秒。
我想等待一段时间,让我们说 2 秒或 3 秒,毕竟,如果页面尚未加载,则显示加载程序,否则不显示。所以为此,我将setTimeout 设为:
router.beforeEach((to, from, next) => {
setTimeout(() => {
store.commit('loading', true);
}, 500);
next();
})
现在加载器总是显示永远不会消失然后我也尝试将next() 语句移动到setTimeout 但页面首先等待500 mili-sec 然后加载器出现然后突然隐藏并加载页面。
我想把它做得更好,有什么建议吗?
【问题讨论】:
标签: javascript vue.js vuex