Vue路由器异步路由防护进度

时间:2017-08-01 07:19:08

标签: javascript vue.js vue-router vuex

我在路由器的导航防护中做异步工作:

router.beforeEach((to, from, next) => {
  somethingAsync().done(next)
})

路由器是否暴露任何东西告诉我它当前正在“加载”?或者我需要自己跟踪它吗?现在,一旦异步工作完成,内容将在<router-view></router-view>中弹出。我目前的解决方案是跟踪我的Vuex商店中的活动工作,并在路由器视图旁边显示一个加载元素。

1 个答案:

答案 0 :(得分:2)

我所做的是为了实现我认为你想要的是:

  • 使用Axios或其他具有拦截器的东西 https://github.com/mzabriskie/axios
  • 拥有一个具有待处理请求计数器的组件。当该计数器高于0时,显示加载元素。
  • 之后你所要做的就是配置拦截器,以便在发出请求时计数器上升,并在响应时 收到柜台后,

如果需要,我可以给你看一些代码。