vue全局使用axios的方法

在vue項目開發(fā)中鞋诗,我們使用axios進行ajax請求衷畦,很多人一開始使用axios的方式懊亡,會當(dāng)成vue-resoure的使用方式來用署驻,即在主入口文件引入import VueResource from 'vue-resource'之后瞧掺,直接使用Vue.use(VueResource)之后即可將該插件全局引用了耕餐,所以axios這樣使用的時候就報錯了,很懵逼辟狈。

仔細看看文檔肠缔,就知道axios 是一個基于 promise 的 HTTP 庫,axios并沒有install 方法哼转,所以是不能使用vue.use()方法的明未。?查看vue插件
那么難道我們要在每個文件都要來引用一次axios嗎?多繁瑣R悸Q怯纭!解決方法有很多種:
1.結(jié)合 vue-axios使用
2.axios 改寫為 Vue 的原型屬性
3.結(jié)合 Vuex的action

1.結(jié)合 vue-axios使用

看了vue-axios的源碼庶溶,它是按照vue插件的方式去寫的煮纵。那么結(jié)合vue-axios懂鸵,就可以去使用vue.use方法了

首先在主入口文件main.js中引用:

import axios from 'axios'
import VueAxios from 'vue-axios'

Vue.use(VueAxios,axios);

之后就可以使用了,在組件文件中的methods里去使用了:

getNewsList(){
      this.axios.get('api/getNewsList').then((response)=>{
        this.newsList=response.data.data;
      }).catch((response)=>{
        console.log(response);
      })
}

2.axios 改寫為 Vue 的原型屬性(不推薦這樣用)

首先在主入口文件main.js中引用行疏,之后掛在vue的原型鏈上:

import axios from 'axios'
Vue.prototype.$ajax= axios

在組件中使用:

this.$ajax.get('api/getNewsList')
.then((response)=>{
    this.newsList=response.data.data;
}).catch((response)=>{
    console.log(response);
})

結(jié)合 Vuex的action
在vuex的倉庫文件store.js中引用匆光,使用action添加方法

import Vue from 'Vue'
import Vuex from 'vuex'

import axios from 'axios'

Vue.use(Vuex)
const store = new Vuex.Store({
  // 定義狀態(tài)
  state: {
    user: {
      name: 'xiaoming'
    }
  },
  actions: {
    // 封裝一個 ajax 方法
    login (context) {
      axios({
        method: 'post',
        url: '/user',
        data: context.state.user
      })
    }
  }
})

export default store

在組件中發(fā)送請求的時候,需要使用 this.$store.dispatch

methods: {
  submitForm () {
    this.$store.dispatch('login')
  }
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末酿联,一起剝皮案震驚了整個濱河市终息,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌贞让,老刑警劉巖徘键,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件爽航,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機下隧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門容劳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來缴饭,“玉大人奥帘,你說我怎么就攤上這事【俗” “怎么了酱虎?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長擂涛。 經(jīng)常有香客問我读串,道長,這世上最難降的妖魔是什么撒妈? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任恢暖,我火速辦了婚禮,結(jié)果婚禮上踩身,老公的妹妹穿的比我還像新娘胀茵。我一直安慰自己社露,他們只是感情好挟阻,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著峭弟,像睡著了一般附鸽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瞒瘸,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天坷备,我揣著相機與錄音,去河邊找鬼情臭。 笑死省撑,一個胖子當(dāng)著我的面吹牛赌蔑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播竟秫,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼娃惯,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了肥败?” 一聲冷哼從身側(cè)響起趾浅,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎馒稍,沒想到半個月后皿哨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡纽谒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年证膨,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片佛舱。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡椎例,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出请祖,到底是詐尸還是另有隱情订歪,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布肆捕,位于F島的核電站刷晋,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏慎陵。R本人自食惡果不足惜眼虱,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望席纽。 院中可真熱鬧捏悬,春花似錦、人聲如沸润梯。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽纺铭。三九已至寇钉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間舶赔,已是汗流浹背扫倡。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留竟纳,地道東北人撵溃。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓疚鲤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親缘挑。 傳聞我的和親對象是個殘疾皇子石咬,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 文檔: https://www.kancloud.cn/yunye/axios/234845官網(wǎng): https:/...
    謝大見閱讀 53,922評論 2 44
  • ## 框架和庫的區(qū)別?> 框架(framework):一套完整的軟件設(shè)計架構(gòu)和**解決方案**。> > 庫(lib...
    Rui_bdad閱讀 2,906評論 1 4
  • 在vue項目中卖哎,我們喜歡使用 axios 來進行 ajax 請求鬼悠, 很多人剛開始使用axios 時,會當(dāng)成 vue...
    簡愛的三年閱讀 5,721評論 0 2
  • 一亏娜、 組件component 1. 什么是組件焕窝? 組件(Component)是 Vue.js 最強大的功能之一。組...
    饑人谷_Leonardo閱讀 1,964評論 0 18
  • vue-cli搭建項目 確保安裝了node與npm 再目標(biāo)文件夾下打開終端 執(zhí)行cnpm i vue-cli -g...
    Akiko_秋子閱讀 3,227評論 1 22