Vue router异步路由守卫进度
Vue router async route guard progress
我正在路由器的导航守卫中进行异步工作:
router.beforeEach((to, from, next) => {
somethingAsync().done(next)
})
路由器是否公开任何信息告诉我它当前是 "loading"?还是我需要自己跟踪它?一旦异步工作完成,现在内容将在 <router-view></router-view>
中弹出。我目前的解决方案是跟踪我的 Vuex 商店中的活动工作,并在路由器视图旁边显示一个加载元素。
为了实现我认为您正在尝试的目标,我所做的是:
- 使用 Axios 或其他具有拦截器的东西
https://github.com/mzabriskie/axios
- 有一个组件有待处理请求的计数器。当该计数器大于 0 时,显示正在加载的元素。
- 在那之后,您所要做的就是配置拦截器,以便在发出请求时计数器上升,并在响应时上升
收到计数器下降。
如果你需要,我可以给你看一些代码。
我正在路由器的导航守卫中进行异步工作:
router.beforeEach((to, from, next) => {
somethingAsync().done(next)
})
路由器是否公开任何信息告诉我它当前是 "loading"?还是我需要自己跟踪它?一旦异步工作完成,现在内容将在 <router-view></router-view>
中弹出。我目前的解决方案是跟踪我的 Vuex 商店中的活动工作,并在路由器视图旁边显示一个加载元素。
为了实现我认为您正在尝试的目标,我所做的是:
- 使用 Axios 或其他具有拦截器的东西 https://github.com/mzabriskie/axios
- 有一个组件有待处理请求的计数器。当该计数器大于 0 时,显示正在加载的元素。
- 在那之后,您所要做的就是配置拦截器,以便在发出请求时计数器上升,并在响应时上升 收到计数器下降。
如果你需要,我可以给你看一些代码。