鍍金池/ 問答/HTML/ vue路由守衛(wèi)axios請求數(shù)據(jù)

vue路由守衛(wèi)axios請求數(shù)據(jù)

vue路由守衛(wèi)axios請求數(shù)據(jù)
需求:
進(jìn)入頁面之前,axios請求數(shù)據(jù),根據(jù)判斷,跳轉(zhuǎn)到對應(yīng)路由。

做法:

1、想在組件路由守衛(wèi)beforeRouteEnter 
axios請求數(shù)據(jù),axios是獲取不到的,報(bào)錯。
2、在created請求數(shù)據(jù)跳轉(zhuǎn),這樣頁面會先顯示出來,效果不好。
3、寫個空白頁請求數(shù)據(jù)跳轉(zhuǎn)。。。但目前不想這樣搞

請問:還有其他方法嗎?

回答
編輯回答
萌小萌

clipboard.png

clipboard.png

最后在router.js里面引入axios,然后使用原型指向,因?yàn)橹苯邮褂胊xios.get會報(bào)protocol的錯誤,所以使用原型

2018年2月12日 01:17
編輯回答
嘟尛嘴

做法1 可以在router.js import axios 實(shí)例

其他辦法:

  1. 可以使用Router.routes的beforeEnter(路由獨(dú)享的守衛(wèi))
  2. 可以使用beforeRouteEnter(組件內(nèi)的守衛(wèi))
  3. 調(diào)用全局的 beforeResolve 守衛(wèi)
2017年6月28日 16:19
編輯回答
眼雜

請問你解決了嗎

2017年7月13日 20:32
編輯回答
懶豬
beforEnter(to, form ,next){
next(vm=>{
vm.$httpAxios.get。。。
})
}

在next里面才可以操作到vue實(shí)例。因?yàn)槁酚蛇€沒進(jìn)來
2017年2月11日 13:03