vue之axios使用


axios是vue-resource后出現的Vue請求數據的插件。vue更新到2.0之后,作者尤大就宣告不再對vue-resource更新,而是推薦的axios。

下面我們來使用axios

npm install axios --save-dev
import axios from "axios"

這時候如果在其它的組件中,是無法使用 axios 命令的。但如果將 axios 改寫為 Vue 的原型屬性,就能解決這個問題

1.    Vue.prototype.$ajax=axios

好像還有另外一種方法,是不需要去修改Vue的原型的,那就是我們除了npm install安裝axios依賴以外,再去安裝一個vue-axios

npm install vue-axios --save-dev
import Vueaxios from "vue-axios"

 我都是用第一種方法的,這種沒試過,有興趣大家可以去試試。

在 main.js 中添加了這兩行代碼之后,就能直接在組件的 methods 中使用 $ajax 命令

methods: {
  submitForm () {
    this.$ajax({
      method: 'post',
      url: '你的請求url',
      data: {
        name: 'haha','
      }
   })
}

  上述只是寫了發起請求,並沒有請求返回數據的回調。

.then(function(res){
  console.log(res)
})
.catch(function(err){
  console.log(err)
})

  這是axios的回調函數,.then為請求成功的回調函數,而.catch為請求失敗的回調函數

  這兩個回調函數都有各自獨立的作用域,如果直接在里面訪問 this,無法訪問到 Vue 實例,怎么辦嘞????

  只要添加一個 .bind(this) 就能解決這個問題

.then(function(res){
  console.log(this.data)
}.bind(this))

  像這樣,這樣。。。。還有這樣。。。。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM