zoukankan      html  css  js  c++  java
  • vue项目全局使用axios

    共有三种方法:

    1.结合 vue-axios使用 

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

    import axios from 'axios'
    import VueAxios from 'vue-axios'
    
    Vue.use(VueAxios,axios);

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

    this.axios.get('/api/usrmng')
    .then(function (response) {
      console.log(response);
    })
    .catch(function (error) {
      console.log(error);
    });

    2. axios 改写为 Vue 的原型属性 

    首先在主入口文件main.js中引用,之后挂在vue的原型链上

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

    在组件中使用

    this.$http.get('/api/usrmng')
    .then(function (response) {
      console.log(response);
    })
    .catch(function (error) {
      console.log(error);
    });

    3.结合 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({
      // 定义状态
      state: {
        user: {
          name: 'root'
        }
      },
      actions: {
        // 封装一个 ajax 方法
        login (context) {
          axios({
            method: 'post',
            url: '/user',
            data: context.state.user
          })
        }
      }
    })
    
    export default store

    在组件中发送请求的时候,需要使用 this.$store.dispatch

    methods: {
      submitForm () {
        this.$store.dispatch('login')
      }
    }

    前端交流群,群文件提供大量文档、书籍和资料。期待你的加入!群号:127768464

  • 相关阅读:
    mysql查看每张表的空间使用情况
    下一步开发的技术点
    技术体系需要继续探索的东西
    架构体系需要进一步研究探索的V2路线图
    串行写队列的MYSQL大文本参数
    Node.js 数据存储方式的选择
    Node.js npm 详解
    Node入门
    Node.js知识点学习
    为什么应使用 Node.js
  • 原文地址:https://www.cnblogs.com/sysg/p/10553647.html
Copyright © 2011-2022 走看看