【vue】获取异步加载后的数据

时间:2021-11-20 14:33:05

异步请求的数据,对它做一些处理,需要怎么做呢??

axios 异步请求数据,得到返回的数据, 赋值给变量 info 。如果要对 info 的数据做一些处理后再赋值给 hobby ,直接在 axios 的回调函数中做处理。我这里把获取数据,放在了 created 中,在加载页面之前获取数据。这个时候,methods 中的方法还没有请求后的 info 数据,如果调用 methods 中的方法处理 info 数据,info 是未定义的。所以,如果需要对异步加载的数据做一些处理,直接在 axios 的回调函数中处理,不要调用 methods 中的方法处理数据。

data() {
return {
info: {
name: '',
hobbyStr: ''
},
hobby: [],
}
},
created() {
this.axios.get(url).then((res) => {
this.info = res.data; // 获取接口返回的数据,根据返回数据的格式去取出数据
// 处理异步加载的数据 info
this.hobby = this.info.hobbyStr.split(';'); // 将字符串转为数组
}, (error) => {
console.log(error)
});
}