mixin混入来封装axios请求

mixin混入来封装axios请求

  • 我们通过mixin来封装axios请求这样每一个组件直接通过混入来进行axios请求。
  • 不必每次需要时都要import引入一次
  1. 首先需要下载axios的包
    //用npm、cnpm或者yarn都行
    npm install axios
    yarn add axios
  1. 在src里新建一个mixins文件夹,在新文件夹里新建一个js文件
//引入axios与Vue
import axios from 'axios'
import Vue from 'vue'
// 创建一个全局mixin
Vue.mixin({
    methods: {
        //get请求
        $get(url,data){
          return  axios.get(url,{
            params:data
          })
        },
        //post请求
        $post(url,data){
            return axios.post(url,data)
        }
    },
})
  1. 不要忘记在main.js里将mixin引入
// @/  为src文件夹目录
//我在mixins文件夹里js文件名为index所有/index.js可以省略
import '@/mixins'
  1. 这样所有的组件都能够使用axios
    //Axios 是一个基于 promise的HTTP库 所以需要then获取数据
    async created() {
        let {data} = await this.$get('dome.json')
        console.log(data)
    }

在这里我也想提一下fetch请求,需要注意的是fetch需要then两次才能得到数据
fetch("data.json").then(res=>res.json()).then(res=>{
            console.log(res)
        })
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容