|
1
|
axios是vue-resource后出现的Vue请求数据的插件。vue更新到2.0之后,作者尤大就宣告不再对vue-resource更新,而是推荐的axios。 |
下面我们来使用axios
|
1
|
npm install axios --save-dev |
|
1
|
import
axios from "axios" |
这时候如果在其它的组件中,是无法使用 axios 命令的。但如果将 axios 改写为 Vue 的原型属性,就能解决这个问题
|
1
|
1. Vue.prototype.$ajax=axios |
好像还有另外一种方法,是不需要去修改Vue的原型的,那就是我们除了npm install安装axios依赖以外,再去安装一个vue-axios
|
1
|
npm install vue-axios --save-dev<br>import
Vueaxios from "vue-axios" |
我都是用第一种方法的,这种没试过,有兴趣大家可以去试试。
在 main.js 中添加了这两行代码之后,就能直接在组件的 methods 中使用 $ajax 命令
|
1
2
3
4
5
6
7
8
9
10
|
methods: { submitForm () { this.$ajax({ method:
'post', url:
'你的请求url', data: { name:
'haha',' } })} |
上述只是写了发起请求,并没有请求返回数据的回调。
|
1
2
3
4
5
6
|
.then(function(res){ console.log(res)}).catch(function(err){ console.log(err)}) |
这是axios的回调函数,.then为请求成功的回调函数,而.catch为请求失败的回调函数
这两个回调函数都有各自独立的作用域,如果直接在里面访问 this,无法访问到 Vue 实例,怎么办嘞????
只要添加一个 .bind(this) 就能解决这个问题
|
1
2
3
|
.then(function(res){ console.log(this.data)}.bind(this)) |
Axios在Vue中的应用
1万+

被折叠的 条评论
为什么被折叠?



