<script>
import axios from 'axios';
export default {
data() {
return {
titleList: [],
}
},
created() {
this.axios.get('XX').then(function(response) {
console.log(response.data);
this.titleList=response.data;
}).catch(function (error) {
console.log(error);
});
}
}
</script>
TypeError: Cannot set property 'titleList' of undefined
Typfehler, undefinierte Eigenschaft kann nicht festgelegt werden,
response.data ist ein Objektarray
Ich habe titleList initialisiert, aber aus irgendeinem Grund heißt es, es sei undefiniert, bitte geben Sie mir eine Antwort
this 指向更改了 你可以打印出this来看一下指向谁
解决方案
1.用箭头函数吧
2.保存this (let _this = this)
这样试下。如果不行,把错误贴出看下!
this指针丢失,可以使用箭头函数,也可以用一个变量保存this
let _this = this
我在使用axios请求数据的时候记得是在程序入口文件main.js里面全局引入axios类库,试试引入后用Vue.prototype.$http=axios,之后就可以在全局使用了,至于楼上给出的答案指出的this指针问题,可以试试,我习惯了es6的语法,所以项目中用的一般都是箭头函数
使用这种方式试试