zoukankan      html  css  js  c++  java
  • 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))
    

      像这样,这样。。。。还有这样。。。。。。

  • 相关阅读:
    笔记
    作用域及this指向案例总结
    笔记
    JS 事件(捕获和冒泡 兼容性写法)
    tab标签
    笔记
    JS入门(10.16)
    JS入门(10.15)
    关键渲染路径
    Practice1小学四则运算(改进)
  • 原文地址:https://www.cnblogs.com/maomao93/p/7041626.html
Copyright © 2011-2022 走看看