亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

vue路由守衛axios請求數據

vue路由守衛axios請求數據

蕭十郎 2018-07-06 18:18:17
vue路由守衛axios請求數據需求:進入頁面之前,axios請求數據,根據判斷,跳轉到對應路由。做法:1、想在組件路由守衛beforeRouteEnter  axios請求數據,axios是獲取不到的,報錯。2、在created請求數據跳轉,這樣頁面會先顯示出來,效果不好。3、寫個空白頁請求數據跳轉。。。但目前不想這樣搞請問:還有其他方法嗎?
查看完整描述

4 回答

?
梵天001

TA貢獻23條經驗 獲得超5個贊

針對 axios 獲取不到,你是想獲取全局的 axios 實例,因為 鉤子函數中不能使用 this ? 組件還沒創建,當然獲取不到,可以使用 @慕村9548890?提供的方式:

beforeEnter(to, from, next){

// 組件創建后回調

next(vm => {

// vm 相當于 this,,這個時候組件已經創建

vm.$axios.get(...)...

})

}

查看完整回答
反對 回復 2018-07-15
?
梵天001

TA貢獻23條經驗 獲得超5個贊

  1. axios 獲取不到是什么意思?

  2. created 只是做初始化工作,mounted 還沒走到呢,怎么會先顯示出來?

  3. 還不如 2 呢

查看完整回答
反對 回復 2018-07-15
?
喵喵時光機

TA貢獻1846條經驗 獲得超7個贊

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

其他辦法:

  1. 可以使用Router.routes的beforeEnter(路由獨享的守衛)

  2. 可以使用beforeRouteEnter(組件內的守衛)

  3. 調用全局的 beforeResolve 守衛


查看完整回答
反對 回復 2018-07-14
?
慕村9548890

TA貢獻1884條經驗 獲得超4個贊

https://img1.sycdn.imooc.com//5b49afd40001621e05390229.jpg

https://img1.sycdn.imooc.com//5b49afd40001141c06250334.jpg

最后在router.js里面引入axios,然后使用原型指向,因為直接使用axios.get會報protocol的錯誤,所以使用原型


查看完整回答
反對 回復 2018-07-14
  • 4 回答
  • 0 關注
  • 1833 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號