Vue2中使用axios的3种方法实例总结

 更新时间:2022年09月22日 09:55:45   作者:小杨来谈  
axios从功能上来说就是主要用于我们前端向后端发送请求,是基于http客户端的promise,面向浏览器和nodejs,下面这篇文章主要给大家介绍了关于Vue2中使用axios的3种方法,需要的朋友可以参考下

第一种 原始方法 直接在项目中使用(不建议使用)

这种方法最简单粗暴

优点:不需要做封装,不需要做配置傻瓜式操作,不需要做异步处理

缺点:代码太繁琐,当遇到请求过多的时候,这样写不适合读写

注意:如果你封装的请求有问题解决不掉,可以用这种最原始的方式来解决

<template>
  <div>{{data}}</div>
</template>
 
<script>
/* 第一步下载 axios 命令:npm i axios 或者yarn add axios 或者pnpm i axios */
/* 第二步引入axios */
import axios from 'axios'
export default {
  data() {
    return {
        data:""
    };
  },
  methods: {
      /* 第三步 写一个name事件  */
    name() {
      axios({
        method: "get",
        url: "http://yufei.shop:3000/tabbar",
      }).then(res=>{
          this.data = res.data /* 将拿到的值,赋值给data */
      })
    },
  },
  /* 第四步 在create钩子函数中 将name事件在页面出现的时候执行 */
  created() {
    this.name();
  },
};
</script>
 

第二种 将请求挂载到全局( 推荐使用 )

优点:代码量减少,代码清晰,挂载到全局多处可以使用

缺点:vue3中不能这么使用,vue3换了一种方法来挂在全局

在main.js中

// 引入 axios
import axios from 'axios'
 
// 挂载一个自定义属性$http
Vue.prototype.$http = axios
// 全局配置axios请求根路径(axios.默认配置.请求根路径)
axios.defaults.baseURL = 'http://yufei.shop:3000'

在App.js中

<template>
  <div>{{ data }}</div>
</template>
 
<script>
export default {
  data() {
    return {
        data:""
    };
  },
  methods:{
     async name() {  //async  await  是解决异步的一种方案,必须要加,但是原生封装就不用
          const {data:res} = await this.$http.get('/tabbar')
          this.data = res
      }
  },
  created(){
      this.name()
  }
};
</script>

第三种 将代码进行封装

优点:代码量减少,代码清晰,挂载到全局多处可以使用,可以多层封装,vue3也可以这么使用

我们在src文件夹种创建一个文件叫APi ,然后在APi当前文件夹下创建一个request.js文件

目录结构如下

request.js代码如下

// 引入 axios
import axios from 'axios'
// 封装 baseURL
const request = axios.create({
    baseURL:"http://yufei.shop:3000"
})
// 向外暴露 request
export default request;

组件APP.vue代码如下

<template>
  <div>{{ data }}</div>
</template>
 
<script>
// 1. 导入request
import request from '@/APi/request.js'
export default {
  data() {
    return {
        data:""
    };
  },
 
  methods:{
    //    事件name
     async name() {
         const res = await request.get('/tabbar')
         this.data  = res.data
      }
  },
//   生命周期函数created中调用 事件name 
  created(){
      this.name()
  }
};
</script>

总结

到此这篇关于Vue2中使用axios的3种方法的文章就介绍到这了,更多相关Vue2使用axios内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • vue如何实现接口统一管理

    vue如何实现接口统一管理

    这篇文章主要介绍了vue如何实现接口统一管理,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • vue中的render函数、h()函数、函数式组件详解

    vue中的render函数、h()函数、函数式组件详解

    在vue中我们使用模板HTML语法来组建页面的,使用render函数我们可以用js语言来构建DOM,这篇文章主要介绍了vue中的render函数、h()函数、函数式组件,需要的朋友可以参考下
    2023-02-02
  • 浅谈mint-ui loadmore组件注意的问题

    浅谈mint-ui loadmore组件注意的问题

    下面小编就为大家带来一篇浅谈mint-ui loadmore组件注意的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Vue3实现批量异步更新

    Vue3实现批量异步更新

    这篇文章主要为大家详细介绍了Vue3批量异步更新是如何实现的,文中的示例代码简洁易懂,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-08-08
  • vue3如何获取绑定页面dom元素

    vue3如何获取绑定页面dom元素

    这篇文章主要介绍了vue3如何获取绑定页面dom元素问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 如何使用Vue进行文件预览与打印功能

    如何使用Vue进行文件预览与打印功能

    这篇文章主要给大家介绍了关于如何使用Vue进行文件预览与打印功能的相关资料,这个功能其实也是自己学习到的,做完也有一段时间了,一直想记录总结一下,需要的朋友可以参考下
    2023-10-10
  • 深度解析 Vue3 的响应式机制

    深度解析 Vue3 的响应式机制

    这篇文章主要介绍了深度解析 Vue3 的响应式机制,今天就带大家深入了解一下 Vue 3 的响应式机制,相信学完今天的内容,会对响应式机制有更深地体会;文章会结合代码示例,帮大家掌握响应式机制的进阶用法,让我们正式开始学习吧
    2022-09-09
  • vue如何使用router.meta.keepAlive对页面进行缓存

    vue如何使用router.meta.keepAlive对页面进行缓存

    这篇文章主要介绍了vue如何使用router.meta.keepAlive对页面进行缓存问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • 让webpack+vue-cil项目不再自动打开浏览器的方法

    让webpack+vue-cil项目不再自动打开浏览器的方法

    今天小编就为大家分享一篇让webpack+vue-cil项目不再自动打开浏览器的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • Vue生命周期activated之返回上一页不重新请求数据操作

    Vue生命周期activated之返回上一页不重新请求数据操作

    这篇文章主要介绍了Vue生命周期activated之返回上一页不重新请求数据操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07

最新评论