共有三种方法:
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
如对本文有疑问, 点击进行留言回复!!
同事牛逼啊,写了个隐藏 bug,我排查了 3 天才解决问题!
【JavaScript笔记(一)】万丈高楼平地起 - 基本概念篇
轻松解决 org.apache.taglibs.standard.tlv.JstlCoreTLV 困惑
网友评论