1、axios其实就是一个用于发送ajax请求的HTTP库,是ajax的请求库。而且Axios支持 Promise操作,返回值是promise对象。成功的结果为res,失败的结果为error 2、then()方法用于指定当前实例状态发生改变时的回调函数。它返回一个新的Promise实例。
mounted() {
axios.post('/api/question/follower', {
'question':this.question,
'user':this.user
}).then(function(response){
// console.log(response.data);
this.followed = response.data.followed;
})
},
出错问题: 在then 这个里边的赋值方法this.followed = response.data.followed会出现报错,什么原因呢?在Google上查了下,原来是在 then的内部不能使用Vue的实例化的this, 因为在内部 this 没有被绑定。 解决: 我们可以使用 ES6 的 箭头函数arrow function,箭头方法可以和父方法共享变量,就可以使用this了
created() {
axios.post('/api/question/follower', {
'question':this.question,
'user':this.user
}).then((response) => {
this.followed = response.data.followed;
})
},
由此推测:finally和catch里面使用this也需要使用回调函数才可以 2、axios发送请求的时候首先要传入请求地址
axios.delete("/后台端口/"+id属性).then((res)=>{ })
3、axios异步获取数据时需要then方法,成功的回调时通过response得到响应结果,通过response.data得到相应数据:
(res)=>{}
访问失败时候的回调处理:
(error)=>{}
res这个参数可以理解为一个Object。 res.data指服务器返回的内容。 4、this.$confirm().then(()={}).catch(()=>{}) then是成功时访问,catch是失败时访问,不需要返回值。 功能体现在按钮上,then是confirm“确定”时访问,catch是“取消”时访问 5、前端VUE中的不同生命周期存在不同的钩子函数。 created()属于一种钩子函数,VUE对象初始化完成后自动执行。一般可以在created函数中调用ajax获取页面初始化所需的数据。 6、v-model双向数据绑定: 主要用于给表单元素创建双向数据绑定。 即: 1.视图发生改变→数据发生对应的改变。即用户在视图(网页)上通过输入等操作,改变原数据。 2.数据改变→视图发生对应的改变。即在js中的数据本身发生改变(不由视图层面的操作导致的),视图要显示出最新的数据。 如: Vue的绑定方式如下 Vue一般通过v-model指令进行双向数据绑定: 1.视图发生改变→对应的数据发生改变:用户在输入框里输入的内容会被message变量接下来,改变了app.message的值。 2.被改变的app.message同时也将动态更新在p标签的内容里。
<input type="text" id="app" v-model="message">
<p>{{message}}</p>
const app = new Vue({
el:'#app',
data:{
message:'hello',
}
})
|