vue路由守卫axios请求数据

vue路由守卫axios请求数据
需求:
进入页面之前,axios请求数据,根据判断,跳转到对应路由。

做法:

1、想在组件路由守卫beforeRouteEnter 
axios请求数据,axios是获取不到的,报错。
2、在created请求数据跳转,这样页面会先显示出来,效果不好。
3、写个空白页请求数据跳转。。。但目前不想这样搞

请问:还有其他方法吗?

阅读 6.9k
4 个回答

clipboard.png

clipboard.png

最后在router.js里面引入axios,然后使用原型指向,因为直接使用axios.get会报protocol的错误,所以使用原型

做法1 可以在router.js import axios 实例

其他办法:

  1. 可以使用Router.routes的beforeEnter(路由独享的守卫)
  2. 可以使用beforeRouteEnter(组件内的守卫)
  3. 调用全局的 beforeResolve 守卫

请问你解决了吗

beforEnter(to, form ,next){
next(vm=>{
vm.$httpAxios.get。。。
})
}

在next里面才可以操作到vue实例。因为路由还没进来
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题